Space Explorer HTB lab
Aug 19, 2026
target:A lost space mission control system suffers from flawed authentication logic between its Sender and Receiver services.
Application Flow
- The user sends a JSON request to the Sender (Go).
- The Sender parses the JSON and checks if
action == "getcosmic". - If valid, the Sender forwards the raw request body to the Receiver (Python).
- The Receiver parses the same JSON body and executes the action.
Press enter or click to view image in full size![]()
Key Difference: Case Sensitivity
Go (encoding/json)Case-insensitive key matching. Duplicate keys: last value wins.
Get AlvaGad’s stories in your inbox
Join Medium for free to get updates from this writer.
Python (dict)Case-sensitive. "action" and "Action" are different keys.
Sender (Go)
- Sees
"action"and"Action"as the same field (case-insensitive). - Last value wins →
requestData.Action = "getcosmic". - Validation passes ✅ → forwards the raw body to Python.
Receiver (Python)
- Sees
"action"and"Action"as two different keys. data["action"]returns"getSecureCode".- Executes
getSecureCodeand returns the flag






