update some details
This commit is contained in:
@@ -1,10 +1,10 @@
|
||||
from concurrent.futures import ThreadPoolExecutor, ProcessPoolExecutor, as_completed
|
||||
from core.requester import requester
|
||||
|
||||
|
||||
|
||||
def quicksliver(func,number_process):
|
||||
"""fixed a big bug on 12.24 Merry Christmas"""
|
||||
|
||||
with ThreadPoolExecutor(max_workers = number_process) as executor:
|
||||
futures = [executor.submit(func) for count in range(number_process)]
|
||||
for future in as_completed(futures):
|
||||
future.result()
|
||||
|
||||
|
||||
@@ -11,7 +11,7 @@ from urllib3.exceptions import ConnectTimeoutError
|
||||
|
||||
def chambering(url,strike,payload = None,type = None):
|
||||
|
||||
if "=" in url:
|
||||
if "=" in url and "?" in url:
|
||||
data = url.split("?")[1].split("&")
|
||||
params_extractor = tuple((i.split('=')[0],i.split('=')[1]) for i in data)
|
||||
params = {i:j for i, j in params_extractor}
|
||||
@@ -144,5 +144,7 @@ def load_queue(subdomain):
|
||||
return subdomain_queue
|
||||
|
||||
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
# chambering(url, strike, payload=None, type=None):
|
||||
url = "https://plus.jd.com/indexf?low_system=appicon&flow_entrance=appicon11&flow_channel=pc"
|
||||
chambering(url,strike=False)
|
||||
|
||||
@@ -88,6 +88,8 @@ class Attack:
|
||||
if not self.target is None:
|
||||
self.initis()
|
||||
|
||||
|
||||
|
||||
while not self.target_url.empty():
|
||||
target = self.target_url.get()
|
||||
strike_pre = assault_pre()
|
||||
@@ -96,7 +98,6 @@ class Attack:
|
||||
|
||||
while not target.empty():
|
||||
original = target.get()
|
||||
# print(self.target_url.qsize())
|
||||
# url = regex.URL_PATH.sub("=", original)
|
||||
"""and self.filter_(url,self.requests_seen)"""
|
||||
# print("fucking" + original)
|
||||
@@ -104,7 +105,7 @@ class Attack:
|
||||
if self.domain in original:
|
||||
url, data = chambering(original,strike = False)
|
||||
received_ = requester(url,data,GET = True,cookie = self.cookie,proxy = self.proxy)
|
||||
if received_.status_code == 403:
|
||||
if not received_ is None and received_.status_code == 403:
|
||||
if not self.proxy_queue is None and not self.proxy_queue.empty():
|
||||
self.proxy = get_proxy(self.proxy_queue)
|
||||
print(f"{blue_green}[+][{time}] Vulnerability scanning is being performed on {original}{end}")
|
||||
@@ -126,10 +127,9 @@ class Attack:
|
||||
|
||||
if vul_type in ["SQLi","file_inclusion","command_injection","ssrf"]:
|
||||
Poisoned = requester(url,data,GET = True,cookie = self.cookie,proxy = self.proxy)
|
||||
code = Poisoned.status_code
|
||||
|
||||
if not Poisoned is None and code < 400:
|
||||
if error_check(Poisoned):
|
||||
if not Poisoned is None and Poisoned.status_code < 400:
|
||||
if error_check(Poisoned.text):
|
||||
if receive_check(received.text,Poisoned.text,vul_type,payload):
|
||||
message = vul_message(vul_type,original,payload)
|
||||
self.logger.critical(message)
|
||||
@@ -144,15 +144,4 @@ class Attack:
|
||||
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
cerberus = Attack("http://www.ztcc.com","StreamLogger")
|
||||
# target = requester("http://www.weibo.com",None,GET = True)
|
||||
# cerberus.url_extrator(target.text)
|
||||
|
||||
|
||||
execut = cerberus.execution
|
||||
# execut()
|
||||
quicksliver(execut,7)
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user