Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import requests
- import jwt
- import base64
- import bson
- URL = "https://darkphenixspider.hfctf.org/"
- SESSION_URL = URL + "get-session"
- START_URL = URL + "start"
- VALIDATE_URL = URL + "validate"
- sess = requests.Session()
- resp = sess.get(SESSION_URL)
- j = resp.json()
- headers = {'Session': j["session"]}
- json_headers = headers
- json_headers["Content-Type"] = "application/json"
- resp = sess.get(START_URL, headers=headers)
- j = resp.json()
- ##########
- # Main
- ##########
- remaining = j["next"]
- visited = []
- secrets = {
- "Up": [],
- "Down": []
- }
- while len(remaining) != 0:
- print("-------------------------------")
- node = remaining.pop()
- if node not in visited:
- visited.append(node)
- resp = sess.get(f"{URL}/{node}", headers=headers)
- try:
- j = resp.json()
- except ValueError:
- if resp.status_code == 200:
- value = resp.content.decode()
- j = bson.loads(base64.b64decode(value))
- else:
- continue
- print(j)
- if j.get("secret"):
- secrets[j["world"]].append(j["secret"])
- nodes = j["next"]
- if type(nodes) is list:
- for n in nodes:
- remaining.append(n)
- elif type(nodes) is str:
- remaining.append(nodes)
- print("Secrets")
- print(secrets)
- a = "".join(secrets["Up"][::-1])
- print(a)
- b = "".join(secrets["Down"][::-1])
- print(b)
- ##########
- # Posting the fucking secret
- ##########
- new_headers = headers
- new_headers["Content-Type"] = "multipart/form-data"
- resp = sess.post(VALIDATE_URL + f"?secret={a}", headers=headers)
- print(resp.content)
- new_headers["Content-Type"] = "application/x-www-form-urlencoded"
- resp = sess.post(VALIDATE_URL + "?secret={a}", headers=new_headers)
- print(resp.content)
- new_headers["Content-Type"] = "text/plain"
- resp = sess.post(VALIDATE_URL + "?secret={a}", headers=new_headers)
- print(resp.content)
- new_headers["Content-Type"] = "application/json"
- resp = sess.post(VALIDATE_URL + "?secret={a}", headers=new_headers)
- print(resp.content)
- new_headers = headers
- new_headers["Content-Type"] = "multipart/form-data"
- resp = sess.post(VALIDATE_URL + f"?secret={b}", headers=headers)
- print(resp.content)
- new_headers["Content-Type"] = "application/x-www-form-urlencoded"
- resp = sess.post(VALIDATE_URL + "?secret={b}", headers=new_headers)
- print(resp.content)
- new_headers["Content-Type"] = "text/plain"
- resp = sess.post(VALIDATE_URL + "?secret={b}", headers=new_headers)
- print(resp.content)
- new_headers["Content-Type"] = "application/json"
- resp = sess.post(VALIDATE_URL + "?secret={b}", headers=new_headers)
- print(resp.content)
- new_headers = headers
- new_headers["Content-Type"] = "multipart/form-data"
- resp = sess.post(VALIDATE_URL + f"?secret={a}/{b}", headers=headers)
- print(resp.content)
- new_headers["Content-Type"] = "application/x-www-form-urlencoded"
- resp = sess.post(VALIDATE_URL + "?secret={a}/{b}", headers=new_headers)
- print(resp.content)
- new_headers["Content-Type"] = "text/plain"
- resp = sess.post(VALIDATE_URL + "?secret={a}/{b}", headers=new_headers)
- print(resp.content)
- new_headers["Content-Type"] = "application/json"
- resp = sess.post(VALIDATE_URL + "?secret={a}/{b}", headers=new_headers)
- print(resp.content)
- new_headers = headers
- new_headers["Content-Type"] = "multipart/form-data"
- resp = sess.post(VALIDATE_URL + f"?secret={b}/{a}", headers=headers)
- print(resp.content)
- new_headers["Content-Type"] = "application/x-www-form-urlencoded"
- resp = sess.post(VALIDATE_URL + "?secret={b}/{a}", headers=new_headers)
- print(resp.content)
- new_headers["Content-Type"] = "text/plain"
- resp = sess.post(VALIDATE_URL + "?secret={b}/{a}", headers=new_headers)
- print(resp.content)
- new_headers["Content-Type"] = "application/json"
- resp = sess.post(VALIDATE_URL + "?secret={b}/{a}", headers=new_headers)
- print(resp.content)
Add Comment
Please, Sign In to add comment