id: xss-deprecated-header

info:
  name: XSS-Protection Header - Cross-Site Scripting
  author: joshlarsen
  severity: info
  description: Setting the XSS-Protection header is deprecated. Setting the header to anything other than `0` can actually introduce an XSS vulnerability.
  reference:
    - https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-XSS-Protection
    - https://owasp.org/www-project-secure-headers/#x-xss-protection
  classification:
    cvss-metrics: CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:N
    cvss-score: 0
  metadata:
    max-request: 1
  tags: xss,misconfig,generic

http:
  - method: GET
    path:
      - "{{BaseURL}}"

    matchers-condition: and
    matchers:
      - type: regex
        part: header
        regex:
          - "(?i)x-xss-protection: 0"
        negative: true

      - type: regex
        part: header
        regex:
          - "(?i)x-xss-protection: 1+"

    extractors:
      - type: kval
        part: header
        kval:
          - x_xss_protection

# digest: 4b0a00483046022100bf9a6e90e4d3004caff9982d22093726978d7b063269b438ab75ea2bcba15a19022100ce53a1ef6ffb2b220c86574ebc654c0d0b2ca16c42cc940cef32e369f5f5ef07:922c64590222798bb761d5b6d8e72950
