Description
Can you conjure the right bytes? Download `app.py` and recover the exact input the server expects.
Setup
Download and read app.py to understand what byte sequence the server expects.
Launch the challenge instance and connect via netcat.
cat app.py
Solution
- Step 1Read the source codeDownload app.py. It asks for ASCII DECIMAL 101, 1751 times, side-by-side, no space. ASCII 101 = 'e'. The server checks your input equals 'e' * 1751.cat app.py
- Step 2Send the payloadGenerate and send a string of 1751 'e' characters. Python makes this trivial.python3 -c "print('e' * 1751)" | nc <HOST> <PORT_FROM_INSTANCE>python3 -c "import socket; s=socket.create_connection(('<HOST>', <PORT_FROM_INSTANCE>)); s.recv(512); s.sendall(b'e'*1751 + b'\n'); print(s.recv(512).decode())"
Flag
picoCTF{byt3m4ncy_1_...}
app.py asks for ASCII decimal 101 × 1751, no spaces. Send the string 'e' repeated 1751 times.