Blind Exploitation
Overview
When HTTP response injection isn't possible, use time-based or boolean-based techniques to exfiltrate data.
Blind Exfiltration Methods
Sleep timers
If char matches β sleep X seconds
Boolean output
If char matches β different response
Note: Even completely blind, vulnerability is critical - commands still execute (DoS, ransomware, etc.)
Why Not JavaScript Sleep?
The Problem
setTimeout(() => {}, 2000); // Doesn't work as expectedNode.js processes requests asynchronously - response returns immediately even if code still processing.
The Solution
Use system commands instead:
execSyncwaits for command completionSystem
sleepcauses actual delay
Time-Based Exploitation
Test Sleep Works
Result:
β Time-based exfiltration possible!
Reading Output via Sleep
The Technique
Read first character of command output
Compare against each ASCII character
If match β sleep 2 seconds
Repeat for all characters
Bash Command
For Specific Position
Payload
Practical Exploitation
Step 1: Get Admin Token
Step 2: Generate Payloads
Step 3: Test Each Character
Step 4: Identify Match
Step 5: Move to Next Position
Change head -c 1 to head -c 2, then head -c 3, etc.
Example: Extracting 3-Digit Flag
Position 1
Result: Character 2 causes delay
Position 2
Result: Character 1 causes delay
Position 3
Result: Character 4 causes delay
Flag: 214
Accuracy Considerations
Internet latency
False positives/negatives
Server load
Variable response times
Short delays
More errors
Recommendations
Use longer delays (2-3 seconds) for accuracy
Test known character first (e.g.,
HfromHTB{)Repeat on uncertain results
Boolean-Based Alternative
Instead of Sleep
Change HTTP response code or content based on match.
Advantages
Faster (no waiting)
More reliable
Disadvantages
Requires controllable response
Not always possible
Automation Needed
Why Manual Is Impractical
Full ASCII charset: 95 printable characters
Per character: 95 requests (worst case)
30 character output: 2850 requests
Manual: Hours of work
Solution
Write script to automate:
Character iteration
Request timing
Result collection
Key Takeaways
execSync + sleep - Reliable time-based exfiltration
head + tail - Extract specific character positions
Base64 encoding - Avoid escaping issues
Longer delays - More accuracy
Automation essential - Manual is impractical
Last updated