2022-11-18 00:43:10 +00:00
|
|
|
#imports
|
2022-10-10 18:33:39 +00:00
|
|
|
import requests
|
2024-05-21 20:12:57 +00:00
|
|
|
from duckduckgo_search import DDGS
|
2022-10-10 18:33:39 +00:00
|
|
|
import tldextract
|
|
|
|
import numpy as np
|
|
|
|
import threading
|
2022-11-17 04:58:45 +00:00
|
|
|
import argparse
|
2022-10-10 18:33:39 +00:00
|
|
|
import re
|
2022-11-17 04:58:45 +00:00
|
|
|
|
2022-11-18 00:43:10 +00:00
|
|
|
#argparse
|
2022-11-17 04:58:45 +00:00
|
|
|
def parser():
|
|
|
|
parser = argparse.ArgumentParser(description="robust args")
|
|
|
|
parser.add_argument("--url")
|
|
|
|
parser.add_argument("--codes",nargs="+")
|
|
|
|
parser.add_argument("-nosplit")
|
2022-11-17 06:29:22 +00:00
|
|
|
parser.add_argument("-cookie",nargs="+")
|
|
|
|
parser.add_argument("-uagent",nargs="+")
|
2022-11-17 04:58:45 +00:00
|
|
|
args = parser.parse_args()
|
|
|
|
runrobust(args)
|
|
|
|
|
2022-11-18 00:43:10 +00:00
|
|
|
#main function
|
2022-11-17 04:58:45 +00:00
|
|
|
def runrobust(args):
|
|
|
|
found=[]
|
|
|
|
def bust(href):
|
2022-11-17 06:57:59 +00:00
|
|
|
headers={}
|
|
|
|
if args.cookie:
|
|
|
|
headers["cookie"]=" ".join(args.cookie)
|
|
|
|
if args.uagent:
|
|
|
|
headers["user-agent"]=" ".join(args.uagent)
|
2022-11-17 04:58:45 +00:00
|
|
|
try:
|
|
|
|
r=requests.get(href)
|
|
|
|
splitl=r.text.split("\n")
|
|
|
|
splitl=list(set(splitl))
|
|
|
|
for line in splitl:
|
|
|
|
if "Disallow: " in line:
|
|
|
|
if args.nosplit:
|
|
|
|
lnsplt=line
|
|
|
|
else:
|
|
|
|
lnsplt=line.replace("Disallow: ","").split("/")
|
|
|
|
for entry in lnsplt:
|
2022-11-17 05:09:12 +00:00
|
|
|
entry=entry.split("?")[0].replace("*","")
|
|
|
|
entry=entry.split("&")[0]
|
2022-11-17 04:58:45 +00:00
|
|
|
if not re.match(entry, "\s") and not tldextract.extract(href).domain.split(".")[0] in entry.lower() and len(entry) < 25 and not entry in found and not "#" in entry:
|
2022-11-17 06:29:22 +00:00
|
|
|
r=requests.get(args.url+"/"+entry, allow_redirects=False,headers=headers)
|
2022-11-17 04:58:45 +00:00
|
|
|
if str(r.status_code) in args.codes:
|
|
|
|
print("found: "+entry+" ["+str(r.status_code)+"]")
|
|
|
|
found.append(entry)
|
|
|
|
except:
|
|
|
|
pass
|
|
|
|
|
|
|
|
|
|
|
|
def split(a,n):
|
|
|
|
return(np.array_split(a, n))
|
|
|
|
|
|
|
|
keywords = "filetype:TXT +inurl:\"robots.txt\""
|
2024-05-21 20:12:57 +00:00
|
|
|
results = DDGS().text(keywords, max_results=250)
|
2022-11-17 04:58:45 +00:00
|
|
|
results=(href for href in (res["href"] for res in results))
|
|
|
|
results=[*results]
|
|
|
|
results=split(results,5)
|
|
|
|
|
|
|
|
for chunk in results:
|
|
|
|
threads=[]
|
|
|
|
for href in chunk:
|
|
|
|
t=threading.Thread(target=bust, args=([href]))
|
|
|
|
threads.append(t)
|
|
|
|
t.start()
|
|
|
|
for t in threads:
|
|
|
|
t.join()
|
2022-11-17 06:57:59 +00:00
|
|
|
|
2022-11-18 00:43:10 +00:00
|
|
|
#banner
|
|
|
|
print('''\033[49m \033[m
|
|
|
|
\033[49m \033[38;2;224;224;224;49m▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄\033[49m \033[m
|
|
|
|
\033[49m \033[38;2;224;224;224;49m▄▄\033[48;2;224;224;224m \033[38;2;224;224;224;49m▄▄\033[49m \033[m
|
|
|
|
\033[49m \033[38;2;224;224;224;49m▄\033[38;2;224;224;224;48;2;217;218;218m▄\033[48;2;224;224;224m \033[38;2;194;194;194;48;2;224;224;224m▄▄▄\033[38;2;194;194;194;48;2;218;218;218m▄\033[48;2;194;194;194m \033[38;2;194;194;194;48;2;218;218;218m▄\033[38;2;194;194;194;48;2;224;224;224m▄▄▄\033[48;2;224;224;224m \033[38;2;224;224;224;48;2;218;219;219m▄\033[38;2;224;224;224;49m▄\033[49m \033[m
|
|
|
|
\033[49m \033[38;2;224;224;224;49m▄\033[48;2;224;224;224m \033[38;2;223;223;223;48;2;224;224;224m▄\033[38;2;194;194;194;48;2;224;224;224m▄\033[48;2;194;194;194m \033[38;2;194;194;194;48;2;224;224;224m▄\033[38;2;223;223;223;48;2;224;224;224m▄\033[48;2;224;224;224m \033[38;2;224;224;224;49m▄\033[49m \033[m
|
|
|
|
\033[49m \033[48;2;224;224;224m \033[38;2;194;194;194;48;2;224;224;224m▄\033[48;2;194;194;194m \033[38;2;194;194;194;48;2;224;224;224m▄\033[48;2;224;224;224m \033[49m \033[m
|
|
|
|
\033[49m \033[38;2;204;207;207;49m▄\033[48;2;224;224;224m \033[38;2;196;196;196;48;2;224;224;224m▄\033[48;2;194;194;194m \033[38;2;196;196;196;48;2;224;224;224m▄\033[48;2;224;224;224m \033[38;2;204;207;207;49m▄\033[49m \033[m
|
|
|
|
\033[49m \033[48;2;224;224;224m \033[38;2;194;194;194;48;2;224;224;224m▄\033[48;2;194;194;194m \033[38;2;194;194;194;48;2;224;224;224m▄\033[48;2;224;224;224m \033[49m \033[m
|
|
|
|
\033[49m \033[48;2;224;224;224m \033[38;2;194;194;194;48;2;223;223;223m▄\033[48;2;194;194;194m \033[38;2;194;194;194;48;2;223;223;223m▄\033[48;2;224;224;224m \033[49m \033[m
|
|
|
|
\033[49m \033[38;2;224;224;224;49m▄▄▄\033[48;2;224;224;224m \033[38;2;224;224;224;48;2;194;194;194m▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄\033[48;2;224;224;224m \033[38;2;224;224;224;49m▄▄▄\033[49m \033[m
|
|
|
|
\033[49m \033[38;2;224;224;224;49m▄\033[48;2;224;224;224m \033[38;2;199;199;199;48;2;224;224;224m▄\033[38;2;194;194;194;48;2;224;224;224m▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄\033[38;2;199;199;199;48;2;224;224;224m▄\033[48;2;224;224;224m \033[38;2;224;224;224;49m▄\033[49m \033[m
|
|
|
|
\033[49m \033[38;2;224;224;224;49m▄\033[38;2;194;194;194;48;2;224;224;224m▄\033[48;2;194;194;194m \033[38;2;0;0;0;48;2;186;186;186m▄\033[38;2;0;0;0;48;2;194;194;194m▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄\033[38;2;0;0;0;48;2;186;186;186m▄\033[48;2;194;194;194m \033[38;2;194;194;194;48;2;224;224;224m▄\033[38;2;224;224;224;49m▄\033[49m \033[m
|
|
|
|
\033[49m \033[38;2;194;194;194;48;2;224;224;224m▄\033[48;2;194;194;194m \033[48;2;0;0;0m \033[38;2;187;242;249;48;2;0;0;0m▄\033[48;2;0;0;0m \033[38;2;187;242;249;48;2;0;0;0m▄\033[48;2;0;0;0m \033[38;2;187;242;249;48;2;0;0;0m▄\033[48;2;0;0;0m \033[38;2;187;242;249;48;2;0;0;0m▄\033[48;2;0;0;0m \033[48;2;194;194;194m \033[38;2;194;194;194;48;2;224;224;224m▄\033[49m \033[m
|
|
|
|
\033[49m \033[48;2;194;194;194m \033[48;2;0;0;0m \033[38;2;187;242;249;48;2;0;0;0m▄\033[48;2;187;242;249m \033[38;2;187;242;249;48;2;0;0;0m▄\033[48;2;0;0;0m \033[38;2;187;242;249;48;2;0;0;0m▄\033[48;2;187;242;249m \033[38;2;187;242;249;48;2;0;0;0m▄\033[48;2;0;0;0m \033[38;2;187;242;249;48;2;0;0;0m▄\033[48;2;187;242;249m \033[38;2;187;242;249;48;2;0;0;0m▄\033[48;2;0;0;0m \033[38;2;187;242;249;48;2;0;0;0m▄\033[48;2;187;242;249m \033[38;2;187;242;249;48;2;0;0;0m▄\033[48;2;0;0;0m \033[48;2;194;194;194m \033[49m \033[m
|
|
|
|
\033[49m \033[48;2;194;194;194m \033[48;2;0;0;0m \033[38;2;0;0;0;48;2;187;242;249m▄\033[48;2;187;242;249m \033[38;2;0;0;0;48;2;187;242;249m▄\033[48;2;0;0;0m \033[38;2;0;0;0;48;2;187;242;249m▄\033[48;2;187;242;249m \033[38;2;0;0;0;48;2;187;242;249m▄\033[48;2;0;0;0m \033[48;2;194;194;194m \033[49m \033[m
|
|
|
|
\033[49m \033[48;2;194;194;194m \033[48;2;0;0;0m \033[48;2;187;242;249m \033[48;2;0;0;0m \033[48;2;187;242;249m \033[48;2;0;0;0m \033[48;2;194;194;194m \033[49m \033[m
|
|
|
|
\033[49m \033[48;2;194;194;194m \033[48;2;0;0;0m \033[38;2;187;242;249;48;2;0;0;0m▄\033[48;2;187;242;249m \033[38;2;187;242;249;48;2;0;0;0m▄\033[48;2;0;0;0m \033[38;2;187;242;249;48;2;0;0;0m▄\033[48;2;187;242;249m \033[38;2;187;242;249;48;2;0;0;0m▄\033[48;2;0;0;0m \033[48;2;194;194;194m \033[49m \033[m
|
|
|
|
\033[49m \033[48;2;194;194;194m \033[48;2;0;0;0m \033[38;2;0;0;0;48;2;187;242;249m▄\033[48;2;187;242;249m \033[38;2;0;0;0;48;2;187;242;249m▄\033[48;2;0;0;0m \033[38;2;0;0;0;48;2;187;242;249m▄\033[48;2;187;242;249m \033[38;2;0;0;0;48;2;187;242;249m▄\033[48;2;0;0;0m \033[38;2;0;0;0;48;2;187;242;249m▄\033[48;2;187;242;249m \033[38;2;0;0;0;48;2;187;242;249m▄\033[48;2;0;0;0m \033[38;2;0;0;0;48;2;187;242;249m▄\033[48;2;187;242;249m \033[38;2;0;0;0;48;2;187;242;249m▄\033[48;2;0;0;0m \033[48;2;194;194;194m \033[49m \033[m
|
|
|
|
\033[49m \033[48;2;194;194;194m \033[48;2;0;0;0m \033[38;2;0;0;0;48;2;187;242;249m▄\033[48;2;0;0;0m \033[38;2;0;0;0;48;2;187;242;249m▄\033[48;2;0;0;0m \033[38;2;0;0;0;48;2;187;242;249m▄\033[48;2;0;0;0m \033[38;2;0;0;0;48;2;187;242;249m▄\033[48;2;0;0;0m \033[48;2;194;194;194m \033[49m \033[m
|
|
|
|
\033[49m \033[49;38;2;198;198;198m▀\033[48;2;194;194;194m \033[38;2;194;194;194;48;2;0;0;0m▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄\033[48;2;194;194;194m \033[49;38;2;197;197;197m▀\033[49m \033[m
|
|
|
|
\033[49m \033[49;38;2;194;194;194m▀\033[48;2;194;194;194m \033[49;38;2;194;194;194m▀\033[49m \033[m
|
|
|
|
\033[49m \033[48;2;159;164;165m \033[49m \033[m
|
|
|
|
\033[49m \033[48;2;194;194;194m \033[49m \033[m
|
|
|
|
\033[49m \033[48;2;194;194;194m \033[49m \033[m
|
|
|
|
\033[49m \033[48;2;194;194;194m \033[38;2;120;120;120;48;2;194;194;194m▄\033[38;2;0;0;0;48;2;194;194;194m▄▄▄\033[38;2;97;97;97;48;2;194;194;194m▄\033[48;2;194;194;194m \033[49m \033[m
|
|
|
|
\033[49m \033[38;2;159;164;165;48;2;194;194;194m▄\033[48;2;194;194;194m \033[38;2;193;193;193;48;2;194;194;194m▄\033[38;2;0;0;0;48;2;194;194;194m▄▄▄\033[48;2;0;0;0m \033[38;2;0;0;0;48;2;194;194;194m▄\033[48;2;194;194;194m \033[38;2;159;164;165;48;2;194;194;194m▄\033[49m \033[m
|
|
|
|
\033[49m \033[48;2;159;164;165m \033[38;2;160;165;165;48;2;194;194;194m▄\033[48;2;194;194;194m \033[38;2;192;192;192;48;2;194;194;194m▄\033[38;2;0;0;0;48;2;194;194;194m▄▄\033[48;2;0;0;0m \033[38;2;247;141;207;48;2;0;0;0m▄▄▄\033[48;2;0;0;0m \033[38;2;212;122;178;48;2;0;0;0m▄\033[38;2;247;141;207;48;2;0;0;0m▄▄\033[38;2;20;11;17;48;2;0;0;0m▄\033[48;2;0;0;0m \033[38;2;0;0;0;48;2;187;187;187m▄\033[48;2;194;194;194m \033[38;2;160;165;166;48;2;194;194;194m▄\033[48;2;159;164;165m \033[49m \033[m
|
|
|
|
\033[49m \033[48;2;159;164;165m \033[38;2;159;164;165;48;2;194;194;194m▄\033[48;2;194;194;194m \033[38;2;164;164;164;48;2;194;194;194m▄\033[48;2;194;194;194m \033[38;2;194;194;194;48;2;133;133;133m▄\033[38;2;194;194;194;48;2;0;0;0m▄▄▄▄▄▄▄\033[38;2;145;145;145;48;2;0;0;0m▄\033[48;2;0;0;0m \033[38;2;221;107;172;48;2;180;103;151m▄\033[38;2;221;107;172;48;2;244;137;203m▄\033[48;2;221;107;172m \033[48;2;247;141;207m \033[38;2;221;107;172;48;2;247;141;207m▄\033[48;2;221;107;172m \033[48;2;0;0;0m \033[38;2;24;24;24;48;2;0;0;0m▄\033[48;2;194;194;194m \033[38;2;159;164;165;48;2;194;194;194m▄\033[48;2;159;164;165m \033[49m \033[m
|
|
|
|
\033[49m \033[49;38;2;157;162;165m▀\033[48;2;159;164;165m \033[38;2;159;164;165;48;2;193;193;193m▄\033[48;2;194;194;194m \033[38;2;194;194;194;48;2;159;164;165m▄\033[48;2;221;107;172m \033[48;2;247;141;207m \033[38;2;247;141;207;48;2;244;137;203m▄\033[48;2;221;107;172m \033[38;2;194;194;194;48;2;30;30;30m▄\033[48;2;194;194;194m \033[38;2;159;164;165;48;2;193;193;193m▄\033[48;2;159;164;165m \033[49;38;2;159;164;164m▀\033[49m \033[m
|
|
|
|
\033[49m \033[48;2;159;164;165m \033[38;2;159;164;165;48;2;194;194;194m▄\033[48;2;194;194;194m \033[48;2;221;107;172m \033[48;2;247;141;207m \033[48;2;221;107;172m \033[48;2;194;194;194m \033[38;2;159;164;165;48;2;194;194;194m▄\033[48;2;159;164;165m \033[49m \033[m
|
|
|
|
\033[49m \033[49;38;2;159;164;165m▀\033[48;2;159;164;165m \033[38;2;159;164;165;48;2;161;165;166m▄\033[38;2;159;164;165;48;2;194;194;194m▄\033[48;2;194;194;194m \033[48;2;221;107;172m \033[38;2;235;125;191;48;2;247;141;207m▄\033[38;2;221;107;172;48;2;245;139;205m▄\033[48;2;221;107;172m \033[48;2;194;194;194m \033[38;2;159;164;165;48;2;194;194;194m▄\033[38;2;159;164;165;48;2;161;166;167m▄\033[48;2;159;164;165m \033[49;38;2;159;164;165m▀\033[49m \033[m
|
|
|
|
\033[49m \033[49;38;2;159;164;165m▀\033[38;2;159;164;164;48;2;159;164;165m▄\033[48;2;159;164;165m \033[38;2;159;164;165;48;2;194;194;194m▄▄▄\033[38;2;175;178;179;48;2;194;194;194m▄\033[48;2;194;194;194m \033[38;2;194;194;194;48;2;208;149;184m▄\033[38;2;194;63;147;48;2;221;107;172m▄\033[48;2;221;107;172m \033[38;2;193;61;146;48;2;221;107;172m▄\033[38;2;159;164;165;48;2;194;194;194m▄\033[48;2;159;164;165m \033[49;38;2;159;164;165m▀\033[49m \033[m
|
|
|
|
\033[49m \033[49;38;2;159;164;165m▀▀\033[48;2;159;164;165m \033[38;2;159;164;165;48;2;193;61;146m▄\033[38;2;193;61;146;48;2;193;62;146m▄\033[38;2;193;61;146;48;2;221;107;172m▄\033[38;2;193;61;146;48;2;220;106;171m▄\033[38;2;159;164;165;48;2;193;61;146m▄▄\033[48;2;159;164;165m \033[49;38;2;159;164;165m▀▀\033[49m \033[m
|
|
|
|
\033[49m \033[49;38;2;159;164;165m▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀\033[49m \033[m
|
|
|
|
\033[49m \033[m
|
|
|
|
''')
|
|
|
|
with open("banner.txt","r") as banner:
|
|
|
|
print(banner.read())
|
|
|
|
|
|
|
|
#run
|
2022-11-17 04:58:45 +00:00
|
|
|
parser()
|