JamesBops

Untitled

Dec 3rd, 2023
326
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 20.52 KB | None | 0 0
  1. import requests
  2. import typing as T
  3. import re
  4. import multiprocessing as mp
  5. import threading
  6. import queue
  7. import os
  8.  
  9. if not os.path.isdir('results'):
  10. os.mkdir('results')
  11.  
  12. class Config(T.TypedDict):
  13. name: str
  14. file: str
  15. match: T.Pattern
  16.  
  17. class Check:
  18.  
  19. __regex_configs: T.List[Config] = [
  20. {
  21. 'file': 'aws.txt',
  22. 'name': 'AWS Key',
  23. 'match': r'AKIA[0-9A-Z]{16}'
  24. },
  25. {
  26. 'file': 'twilio.txt',
  27. 'name': 'Twilio',
  28. 'match': r'AC[a-z0-9]{32}'
  29. },
  30. {
  31. 'file': 'sendgrid.txt',
  32. 'name': 'Sendgrid SMTP',
  33. 'match': r'smtp\.sendgrid\.net'
  34. },
  35. {
  36. 'file': 'nexmo.txt',
  37. 'name': 'Nexmo',
  38. 'match': r'NEXMO_|nexmo_|VONAGE_|vonage_'
  39. },
  40. {
  41. 'file': 'office365.txt',
  42. 'name': 'Office365 SMTP',
  43. 'match': r'smtp\.office365\.com'
  44. },
  45. {
  46. 'file': 'aws_smtp.txt',
  47. 'name': 'AWS SMTP',
  48. 'match': r'email-smtp\.'
  49. }
  50. ]
  51.  
  52. def __init__(self) -> None:
  53. pass
  54.  
  55. def validate(self, url: str, body: str) -> T.List[str]:
  56. found: T.List[str] = []
  57. for config in self.__regex_configs:
  58. if re.search(config.get('match'), body):
  59. found.append(
  60. config.get('name')
  61. )
  62. with open('results/' + config.get('file'), mode='a') as file:
  63. file.write(url + '\n')
  64. return found
  65.  
  66.  
  67. class Scanner:
  68.  
  69. def __init__(self) -> None:
  70. self.__urls: T.List[str] = []
  71. self.__check = Check()
  72. self.__paths: T.List[str] = None
  73. self.__queue = queue.Queue()
  74. self.__thread: int = mp.cpu_count()
  75. self.__threads: T.List[threading.Thread] = []
  76.  
  77. def set_urls(self, urls: T.List[str]):
  78. not_valid_urls = 0
  79. for url in urls:
  80. if '://' not in url:
  81. url = 'http://' + url
  82. if url.endswith('/'):
  83. url = url[:-1]
  84. if not '.' in url:
  85. not_valid_urls += 1
  86. else:
  87. self.__urls.append(
  88. url
  89. )
  90. if not_valid_urls:
  91. print(f'Removed {not_valid_urls} not valid url')
  92. print(f'Found {len(self.__urls)} valid url')
  93.  
  94. def set_paths(self, paths: T.List[str]):
  95. self.__paths = paths
  96.  
  97. def create_tasks(self):
  98. for url in self.__urls:
  99. for path in self.__paths:
  100. self.__queue.put(
  101. f'{url}{path}'
  102. )
  103. print(f'Created {self.__queue.qsize()} tasks')
  104.  
  105. def start(self):
  106. print('Starting scan')
  107. for i in range(self.__thread):
  108. th = threading.Thread(target=self.scan)
  109. self.__threads.append(
  110. th
  111. )
  112. for i in self.__threads:
  113. i.start()
  114. for i in self.__threads:
  115. i.join()
  116. print('Done scanning :)')
  117.  
  118. def check(self, target: str):
  119. try:
  120. resp = requests.get(
  121. url=target,
  122. headers={'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.85 Safari/537.36'},
  123. allow_redirects=False,
  124. verify=False,
  125. timeout=10
  126. )
  127. check = self.__check.validate(target, resp.text)
  128. if check:
  129. for found in check:
  130. print(f'{target} > Found {found}')
  131. else:
  132. print(f'{target} > Can\'t found anything')
  133. except Exception as err:
  134. print(f'{target} > {err}')
  135.  
  136. def scan(self):
  137. while not self.__queue.empty():
  138. url = self.__queue.get()
  139. self.check(url)
  140. self.__queue.task_done()
  141.  
  142.  
  143. class GeneratePaths:
  144.  
  145. __paths: T.List[str] = [
  146. '/', '/config/'
  147. ]
  148.  
  149. __files: T.List[str] = [
  150. 'config', 'dev', 'test',
  151. 'development', 'staging', 'aws',
  152. 's3', 'env', 'default',
  153. 'prod', 'credentials', 'settings',
  154. 'configuration', 'info', 'phpinfo', 'php-info',
  155. ]
  156.  
  157. __extensions: T.List[str] = [
  158. '.ts', '.js', '.json',
  159. '.yaml', '.yml', 'php', 'py', 'txt', 'md',
  160. ]
  161.  
  162. __additionals: T.List[str] = [
  163. '/.env', '/.aws/credentials', '/wp-config.php.bak', '/wp-config.php.old', '/wp-config.php-backup', '.wp-config.php.swo', '/wp-config.php.swp', '.wp-config.swp', '#wp-config.php#', 'backup.wp-config.php', '/wp-config', '/wp-config - Copy.php', '/wp-config copy.php', '/wp-config_backup', '/wp-config_good', '/wp-config-backup', '/wp-config-backup.php', '/wp-config-backup.txt', '/wp-config-backup1.txt', '/wp-config-good', '/wp-config-sample.php', '/wp-config-sample.php.bak', '/wp-config-sample.php~', '/wp-config.backup', '/wp-config.bak', '/wp-config.bkp', '/wp-config.cfg', '/wp-config.conf', '/wp-config.data', '/wp-config.dump', '/wp-config.good', '/wp-config.htm', '/wp-config.html', '/wp-config.inc', '/wp-config.local.php', '/wp-config.old', '/wp-config.old.old', '/wp-config.ORG', '/wp-config.orig', '/wp-config.original', '/wp-config.php', '/wp-config.php_', '/wp-config.php__', '/wp-config.php______', '/wp-config.php__olds', '/wp-config.php_1', '/wp-config.php_backup', '/wp-config.php_bak', '/wp-config.php_bk', '/wp-config.php_new', '/wp-config.php_old', '/wp-config.php_old2017', '/wp-config.php_old2018', '/wp-config.php_old2019', '/wp-config.php_old2020', '/wp-config.php_orig', '/wp-config.php_original', '/wp-config.php-', '/wp-config.php-backup', '/wp-config.php-bak', '/wp-config.php-n', '/wp-config.php-o', '/wp-config.php-old', '/wp-config.php-original', '/wp-config.php-save', '/wp-config.php-work', '/wp-config.php.0', '/wp-config.php.1', '/wp-config.php.2', '/wp-config.php.3', '/wp-config.php.4', '/wp-config.php.5', '/wp-config.php.6', '/wp-config.php.7', '/wp-config.php.8', '/wp-config.php.9', '/wp-config.php.a', '/wp-config.php.aws', '/wp-config.php.azure', '/wp-config.php.b', '/wp-config.php.backup', '/wp-config.php.backup.txt', '/wp-config.php.bak', '/wp-config.php.bak1', '/wp-config.php.bk', '/wp-config.php.bkp', '/wp-config.php.c', '/wp-config.php.com', '/wp-config.php.cust', '/wp-config.php.dev', '/wp-config.php.disabled', '/wp-config.php.dist', '/wp-config.php.dump', '/wp-config.php.html', '/wp-config.php.in', '/wp-config.php.inc', '/wp-config.php.local', '/wp-config.php.maj', '/wp-config.php.new', '/wp-config.php.old', '/wp-config.php.org', '/wp-config.php.orig', '/wp-config.php.original', '/wp-config.php.php-bak', '/wp-config.php.prod', '/wp-config.php.production', '/wp-config.php.sample', '/wp-config.php.save', '/wp-config.php.save.1', '/wp-config.php.stage', '/wp-config.php.staging', '/wp-config.php.swn', '/wp-config.php.swo', '/wp-config.php.swp', '/wp-config.php.tar', '/wp-config.php.temp', '/wp-config.php.tmp', '/wp-config.php.txt', '/wp-config.php.uk', '/wp-config.php.us', '/wp-config.php=', '/wp-config.php~', '/wp-config.php~~~', '/wp-config.php1', '/wp-config.phpa', '/wp-config.phpb', '/wp-config.phpbak', '/wp-config.phpc', '/wp-config.phpd', '/wp-config.phpn', '/wp-config.phpnew', '/wp-config.phpold', '/wp-config.phporiginal', '/wp-config.phptmp', '/wp-config.prod.php.txt', '/wp-config.save', '/wp-config.tar', '/wp-config.temp', '/wp-config.txt', '/wp-config.zip', '/wp-config~', '/wp-configbak', '/admin/wp-config.php.bak', '/admin/wp-config.php.old', '/admin/wp-config.php-backup', '.admin/wp-config.php.swo', '/admin/wp-config.php.sadmin/wp', '.admin/wp-config.sadmin/wp', '#admin/wp-config.php#', 'backup.admin/wp-config.php', '/admin/wp-config', '/admin/wp-config - Copy.php', '/admin/wp-config copy.php', '/admin/wp-config_backup', '/admin/wp-config_good', '/admin/wp-config-backup', '/admin/wp-config-backup.php', '/admin/wp-config-backup.txt', '/admin/wp-config-backup1.txt', '/admin/wp-config-good', '/admin/wp-config-sample.php', '/admin/wp-config-sample.php.bak', '/admin/wp-config-sample.php~', '/admin/wp-config.backup', '/admin/wp-config.bak', '/admin/wp-config.bkp', '/admin/wp-config.cfg', '/admin/wp-config.conf', '/admin/wp-config.data', '/admin/wp-config.dump', '/admin/wp-config.good', '/admin/wp-config.htm', '/admin/wp-config.html', '/admin/wp-config.inc', '/admin/wp-config.local.php', '/admin/wp-config.old', '/admin/wp-config.old.old', '/admin/wp-config.ORG', '/admin/wp-config.orig', '/admin/wp-config.original', '/admin/wp-config.php', '/admin/wp-config.php_', '/admin/wp-config.php__', '/admin/wp-config.php______', '/admin/wp-config.php__olds', '/admin/wp-config.php_1', '/admin/wp-config.php_backup', '/admin/wp-config.php_bak', '/admin/wp-config.php_bk', '/admin/wp-config.php_new', '/admin/wp-config.php_old', '/admin/wp-config.php_old2017', '/admin/wp-config.php_old2018', '/admin/wp-config.php_old2019', '/admin/wp-config.php_old2020', '/admin/wp-config.php_orig', '/admin/wp-config.php_original', '/admin/wp-config.php-', '/admin/wp-config.php-backup', '/admin/wp-config.php-bak', '/admin/wp-config.php-n', '/admin/wp-config.php-o', '/admin/wp-config.php-old', '/admin/wp-config.php-original', '/admin/wp-config.php-save', '/admin/wp-config.php-work', '/admin/wp-config.php.0', '/admin/wp-config.php.1', '/admin/wp-config.php.2', '/admin/wp-config.php.3', '/admin/wp-config.php.4', '/admin/wp-config.php.5', '/admin/wp-config.php.6', '/admin/wp-config.php.7', '/admin/wp-config.php.8', '/admin/wp-config.php.9', '/admin/wp-config.php.a', '/admin/wp-config.php.aws', '/admin/wp-config.php.azure', '/admin/wp-config.php.b', '/admin/wp-config.php.backup', '/admin/wp-config.php.backup.txt', '/admin/wp-config.php.bak', '/admin/wp-config.php.bak1', '/admin/wp-config.php.bk', '/admin/wp-config.php.bkp', '/admin/wp-config.php.c', '/admin/wp-config.php.com', '/admin/wp-config.php.cust', '/admin/wp-config.php.dev', '/admin/wp-config.php.disabled', '/admin/wp-config.php.dist', '/admin/wp-config.php.dump', '/admin/wp-config.php.html', '/admin/wp-config.php.in', '/admin/wp-config.php.inc', '/admin/wp-config.php.local', '/admin/wp-config.php.maj', '/admin/wp-config.php.new', '/admin/wp-config.php.old', '/admin/wp-config.php.org', '/admin/wp-config.php.orig', '/admin/wp-config.php.original', '/admin/wp-config.php.php-bak', '/admin/wp-config.php.prod', '/admin/wp-config.php.production', '/admin/wp-config.php.sample', '/admin/wp-config.php.save', '/admin/wp-config.php.save.1', '/admin/wp-config.php.stage', '/admin/wp-config.php.staging', '/admin/wp-config.php.swn', '/admin/wp-config.php.swo', '/admin/wp-config.php.sadmin/wp', '/admin/wp-config.php.tar', '/admin/wp-config.php.temp', '/admin/wp-config.php.tmp', '/admin/wp-config.php.txt', '/admin/wp-config.php.uk', '/admin/wp-config.php.us', '/admin/wp-config.php=', '/admin/wp-config.php~', '/admin/wp-config.php~~~', '/admin/wp-config.php1', '/admin/wp-config.phpa', '/admin/wp-config.phpb', '/admin/wp-config.phpbak', '/admin/wp-config.phpc', '/admin/wp-config.phpd', '/admin/wp-config.phpn', '/admin/wp-config.phpnew', '/admin/wp-config.phpold', '/admin/wp-config.phporiginal', '/admin/wp-config.phptmp', '/admin/wp-config.prod.php.txt', '/admin/wp-config.save', '/admin/wp-config.tar', '/admin/wp-config.temp', '/admin/wp-config.txt', '/admin/wp-config.zip', '/admin/wp-config~', '/admin/wp-configbak', '/wp-config.php.sav', '/wp-config.php.copy', '/wp-config.php.tmp', '/wp-config.php.txt', '/wp-config.php.back', '/wp-config.php.zip', '/wp-config.php.test', '/wp-config.php.tgz', '/wp-config.php.temp', '/wp-config.php.tar.gz', '/wp-config.php.bakup', '/wp-config.php.war', '/wp-config.php.tar', '/wp-config.php.saved', '/wp-config.php.sav', '/wp-config.php.pas', '/wp-config.php.ini', '/wp-config.php.jar', '/wp-config.php.default', '/wp-config.php.db', '/wp-config.php.dat', '/wp-config.php.core', '/wp-config.php.conf',
  164. '/wp/wp-config.php.bak', '/wp/wp-config.php.old', '/wp/wp-config.php-backup', '.wp/wp-config.php.swo', '/wp/wp-config.php.swp/wp', '.wp/wp-config.swp/wp', '#wp/wp-config.php#', 'backup.wp/wp-config.php', '/wp/wp-config', '/wp/wp-config - Copy.php', '/wp/wp-config copy.php', '/wp/wp-config_backup', '/wp/wp-config_good', '/wp/wp-config-backup', '/wp/wp-config-backup.php', '/wp/wp-config-backup.txt', '/wp/wp-config-backup1.txt', '/wp/wp-config-good', '/wp/wp-config-sample.php', '/wp/wp-config-sample.php.bak', '/wp/wp-config-sample.php~', '/wp/wp-config.backup', '/wp/wp-config.bak', '/wp/wp-config.bkp', '/wp/wp-config.cfg', '/wp/wp-config.conf', '/wp/wp-config.data', '/wp/wp-config.dump', '/wp/wp-config.good', '/wp/wp-config.htm', '/wp/wp-config.html', '/wp/wp-config.inc', '/wp/wp-config.local.php', '/wp/wp-config.old', '/wp/wp-config.old.old', '/wp/wp-config.ORG', '/wp/wp-config.orig', '/wp/wp-config.original', '/wp/wp-config.php', '/wp/wp-config.php_', '/wp/wp-config.php__', '/wp/wp-config.php______', '/wp/wp-config.php__olds', '/wp/wp-config.php_1', '/wp/wp-config.php_backup', '/wp/wp-config.php_bak', '/wp/wp-config.php_bk', '/wp/wp-config.php_new', '/wp/wp-config.php_old', '/wp/wp-config.php_old2017', '/wp/wp-config.php_old2018', '/wp/wp-config.php_old2019', '/wp/wp-config.php_old2020', '/wp/wp-config.php_orig', '/wp/wp-config.php_original', '/wp/wp-config.php-', '/wp/wp-config.php-backup', '/wp/wp-config.php-bak', '/wp/wp-config.php-n', '/wp/wp-config.php-o', '/wp/wp-config.php-old', '/wp/wp-config.php-original', '/wp/wp-config.php-save', '/wp/wp-config.php-work', '/wp/wp-config.php.0', '/wp/wp-config.php.1', '/wp/wp-config.php.2', '/wp/wp-config.php.3', '/wp/wp-config.php.4', '/wp/wp-config.php.5', '/wp/wp-config.php.6', '/wp/wp-config.php.7', '/wp/wp-config.php.8', '/wp/wp-config.php.9', '/wp/wp-config.php.a', '/wp/wp-config.php.aws', '/wp/wp-config.php.azure', '/wp/wp-config.php.b', '/wp/wp-config.php.backup', '/wp/wp-config.php.backup.txt', '/wp/wp-config.php.bak', '/wp/wp-config.php.bak1', '/wp/wp-config.php.bk', '/wp/wp-config.php.bkp', '/wp/wp-config.php.c', '/wp/wp-config.php.com', '/wp/wp-config.php.cust', '/wp/wp-config.php.dev', '/wp/wp-config.php.disabled', '/wp/wp-config.php.dist', '/wp/wp-config.php.dump', '/wp/wp-config.php.html', '/wp/wp-config.php.in', '/wp/wp-config.php.inc', '/wp/wp-config.php.local', '/wp/wp-config.php.maj', '/wp/wp-config.php.new', '/wp/wp-config.php.old', '/wp/wp-config.php.org', '/wp/wp-config.php.orig', '/wp/wp-config.php.original', '/wp/wp-config.php.php-bak', '/wp/wp-config.php.prod', '/wp/wp-config.php.production', '/wp/wp-config.php.sample', '/wp/wp-config.php.save', '/wp/wp-config.php.save.1', '/wp/wp-config.php.stage', '/wp/wp-config.php.staging', '/wp/wp-config.php.swn', '/wp/wp-config.php.swo', '/wp/wp-config.php.swp/wp', '/wp/wp-config.php.tar', '/wp/wp-config.php.temp', '/wp/wp-config.php.tmp', '/wp/wp-config.php.txt', '/wp/wp-config.php.uk', '/wp/wp-config.php.us', '/wp/wp-config.php=', '/wp/wp-config.php~', '/wp/wp-config.php~~~', '/wp/wp-config.php1', '/wp/wp-config.phpa', '/wp/wp-config.phpb', '/wp/wp-config.phpbak', '/wp/wp-config.phpc', '/wp/wp-config.phpd', '/wp/wp-config.phpn', '/wp/wp-config.phpnew', '/wp/wp-config.phpold', '/wp/wp-config.phporiginal', '/wp/wp-config.phptmp', '/wp/wp-config.prod.php.txt', '/wp/wp-config.save', '/wp/wp-config.tar', '/wp/wp-config.temp', '/wp/wp-config.txt', '/wp/wp-config.zip', '/wp/wp-config~', '/wp/wp-configbak', '/wordpress/wp-config.php.bak', '/wordpress/wp-config.php.old', '/wordpress/wp-config.php-backup', '.wordpress/wp-config.php.swo', '/wordpress/wp-config.php.swordpress/wp', '.wordpress/wp-config.swordpress/wp', '#wordpress/wp-config.php#', 'backup.wordpress/wp-config.php', '/wordpress/wp-config', '/wordpress/wp-config - Copy.php', '/wordpress/wp-config copy.php', '/wordpress/wp-config_backup', '/wordpress/wp-config_good', '/wordpress/wp-config-backup', '/wordpress/wp-config-backup.php', '/wordpress/wp-config-backup.txt', '/wordpress/wp-config-backup1.txt', '/wordpress/wp-config-good', '/wordpress/wp-config-sample.php', '/wordpress/wp-config-sample.php.bak', '/wordpress/wp-config-sample.php~', '/wordpress/wp-config.backup', '/wordpress/wp-config.bak', '/wordpress/wp-config.bkp', '/wordpress/wp-config.cfg', '/wordpress/wp-config.conf', '/wordpress/wp-config.data', '/wordpress/wp-config.dump', '/wordpress/wp-config.good', '/wordpress/wp-config.htm', '/wordpress/wp-config.html', '/wordpress/wp-config.inc', '/wordpress/wp-config.local.php', '/wordpress/wp-config.old', '/wordpress/wp-config.old.old', '/wordpress/wp-config.ORG', '/wordpress/wp-config.orig', '/wordpress/wp-config.original', '/wordpress/wp-config.php', '/wordpress/wp-config.php_', '/wordpress/wp-config.php__', '/wordpress/wp-config.php______', '/wordpress/wp-config.php__olds', '/wordpress/wp-config.php_1', '/wordpress/wp-config.php_backup', '/wordpress/wp-config.php_bak', '/wordpress/wp-config.php_bk', '/wordpress/wp-config.php_new', '/wordpress/wp-config.php_old', '/wordpress/wp-config.php_old2017', '/wordpress/wp-config.php_old2018', '/wordpress/wp-config.php_old2019', '/wordpress/wp-config.php_old2020', '/wordpress/wp-config.php_orig', '/wordpress/wp-config.php_original', '/wordpress/wp-config.php-', '/wordpress/wp-config.php-backup', '/wordpress/wp-config.php-bak', '/wordpress/wp-config.php-n', '/wordpress/wp-config.php-o', '/wordpress/wp-config.php-old', '/wordpress/wp-config.php-original', '/wordpress/wp-config.php-save', '/wordpress/wp-config.php-work', '/wordpress/wp-config.php.0', '/wordpress/wp-config.php.1', '/wordpress/wp-config.php.2', '/wordpress/wp-config.php.3', '/wordpress/wp-config.php.4', '/wordpress/wp-config.php.5', '/wordpress/wp-config.php.6', '/wordpress/wp-config.php.7', '/wordpress/wp-config.php.8', '/wordpress/wp-config.php.9', '/wordpress/wp-config.php.a', '/wordpress/wp-config.php.aws', '/wordpress/wp-config.php.azure', '/wordpress/wp-config.php.b', '/wordpress/wp-config.php.backup', '/wordpress/wp-config.php.backup.txt', '/wordpress/wp-config.php.bak', '/wordpress/wp-config.php.bak1', '/wordpress/wp-config.php.bk', '/wordpress/wp-config.php.bkp', '/wordpress/wp-config.php.c', '/wordpress/wp-config.php.com', '/wordpress/wp-config.php.cust', '/wordpress/wp-config.php.dev', '/wordpress/wp-config.php.disabled', '/wordpress/wp-config.php.dist', '/wordpress/wp-config.php.dump', '/wordpress/wp-config.php.html', '/wordpress/wp-config.php.in', '/wordpress/wp-config.php.inc', '/wordpress/wp-config.php.local', '/wordpress/wp-config.php.maj', '/wordpress/wp-config.php.new', '/wordpress/wp-config.php.old', '/wordpress/wp-config.php.org', '/wordpress/wp-config.php.orig', '/wordpress/wp-config.php.original', '/wordpress/wp-config.php.php-bak', '/wordpress/wp-config.php.prod', '/wordpress/wp-config.php.production', '/wordpress/wp-config.php.sample', '/wordpress/wp-config.php.save', '/wordpress/wp-config.php.save.1', '/wordpress/wp-config.php.stage', '/wordpress/wp-config.php.staging', '/wordpress/wp-config.php.swn', '/wordpress/wp-config.php.swo', '/wordpress/wp-config.php.swordpress/wp', '/wordpress/wp-config.php.tar', '/wordpress/wp-config.php.temp', '/wordpress/wp-config.php.tmp', '/wordpress/wp-config.php.txt', '/wordpress/wp-config.php.uk', '/wordpress/wp-config.php.us', '/wordpress/wp-config.php=', '/wordpress/wp-config.php~', '/wordpress/wp-config.php~~~', '/wordpress/wp-config.php1', '/wordpress/wp-config.phpa', '/wordpress/wp-config.phpb', '/wordpress/wp-config.phpbak', '/wordpress/wp-config.phpc', '/wordpress/wp-config.phpd', '/wordpress/wp-config.phpn', '/wordpress/wp-config.phpnew', '/wordpress/wp-config.phpold', '/wordpress/wp-config.phporiginal', '/wordpress/wp-config.phptmp', '/wordpress/wp-config.prod.php.txt', '/wordpress/wp-config.save', '/wordpress/wp-config.tar', '/wordpress/wp-config.temp', '/wordpress/wp-config.txt', '/wordpress/wp-config.zip', '/wordpress/wp-config~', '/wordpress/wp-configbak'
  165. ]
  166.  
  167. def __init__(self) -> None:
  168. self.__generated: T.List[str] = []
  169.  
  170. def merge_paths(self):
  171. for path in self.__paths:
  172. for file in self.__files:
  173. for extension in self.__extensions:
  174. self.__generated.append(
  175. f'{path}{file}{extension}'
  176. )
  177. for additional in self.__additionals:
  178. self.__generated.append(
  179. additional
  180. )
  181.  
  182. def get_paths(self) -> T.List[str]:
  183. return self.__generated
  184.  
  185.  
  186. def main():
  187. try:
  188. paths = GeneratePaths()
  189. paths.merge_paths()
  190. scan = Scanner()
  191. scan.set_paths(paths=paths.get_paths())
  192. urls = open(input('List Urls ? '), mode='r').read().splitlines()
  193. scan.set_urls(urls=urls)
  194. scan.create_tasks()
  195. scan.start()
  196. except FileNotFoundError as err:
  197. print(err)
  198.  
  199.  
  200. if __name__ == '__main__':
  201. main()
  202.  
Advertisement
Add Comment
Please, Sign In to add comment