Rating:
This challenge presents a web page where you can play a diferent kind of bingo, after analysing the source code
we can understand 2 diferent endpoints /generate and /check
After some basic requests we can see that /generate returns a number and that check let's us check if a guess is the last number generated.
With the information on the web page it seems that we need to guess 10 numbers in a row, no way this can be done just by guessing or brute force.
This is where the randcrack module comes in https://github.com/tna0y/Python-random-module-cracker
This module let's us input numbers generated by a random number renerator in python and after 624 numbers it can guess the next ones.
This small python codes exemplifies the solution
```
import random, time
import requests
from randcrack import RandCrack
random.seed(time.time())
rc = RandCrack()
s = requests.Session()
for i in range(624):
data = {"attempt": "191919199"}
url = "http://localhost:80/generate"
response = s.get(url)
url = "http://localhost:80/check"
response = s.post(url,json=data)
print("Result: {}".format(response.json()))
rc.submit(int(response.json()['ANSWER']))
for i in range(10):
data = {"attempt": rc.predict_randrange(0, 4294967295)}
url = "http://localhost:80/generate"
response = s.get(url)
url = "http://localhost:80/check"
response = s.post(url,json=data)
print("Result: {}".format(response.json()))
```