声明:学习素材来自b站up【泷羽Sec】,侵删,若阅读过程中有相关方面的不足,还请指正,本文只做相关技术分享,切莫从事违法等相关行为,本人与泷羽sec团队一律不承担一切后果
视频地址:泷羽---bp(7)
目录
一、kali安装Zmap
1.首先更新一下kali的软件包
sudo apt-get update
2.kali安装Zmap
sudo apt-get install -y zmap
安装完查看版本信息是否安装成功
zmap --version
二、Zmap爬取全网ip
1.首先可以先创建一个文件夹来存放ip代理池
mkdir zmap
cd zmap --> 切换目录到zmap文件夹
2.爬取含有单一端口的ip (可以使用多个终端爬取多个端口,最后存放到一个zmap文件夹)
sudo zmap -p 80 -o ips.txt
sudo zmap -p 443 -o ips1.txt
sudo zmap -p 1080 -o ips2.txt
3.查看扫出来的ip信息
三、python脚本筛选实时代理池
四、安装burp插件
1.BurpAutoProxySwitcherPlugins
2.jpython-standalone-2.7.71.jar
3.在burpsuite导入jpython环境
4.导入BurpAutoProxySwitcherPlugins插件
五、使用插件
1.把我们筛选好的存放ip代理池的文件放进去
2.然后load proxies就可以导入成功了
3.以在线靶场做演示:https://sqli-labs.bachang.org/Less-1/?id=1
一、kali安装Zmap
1.首先更新一下kali的软件包
sudo apt-get update
2.kali安装Zmap
sudo apt-get install -y zmap
安装完查看版本信息是否安装成功
zmap --version
二、Zmap爬取全网ip
1.首先可以先创建一个文件夹来存放ip代理池
mkdir zmap
cd zmap --> 切换目录到zmap文件夹
2.爬取含有单一端口的ip (可以使用多个终端爬取多个端口,最后存放到一个zmap文件夹)
sudo zmap -p 80 -o ips.txt
sudo zmap -p 443 -o ips1.txt
sudo zmap -p 1080 -o ips2.txt
3.查看扫出来的ip信息
三、python脚本筛选实时代理池
这边采用blanks大佬的代码,因为大部分爬取的ip代理池都是不可用的,这时候需要我们去进行筛选,将可用的ip筛选出来就能不断进行访问了。我们可以爬取多一点的ip代理池,来增强筛选成功的可能性。
import requests from concurrent.futures import ThreadPoolExecutor, as_completed import threading# 指定输入和输出文件路径 raw_input_file = 'ips.txt' # 原始包含逗号的IP文件 processed_output_file = 'ip.txt' # 字符处理后的IP文件 available_proxy_file_path = 'InProxyPool.txt' # 可用代理输出文件# 多个验证URL,包含国内和国外常见网站,用于更严格地验证代理IP是否可用 test_urls = ['http://www.baidu.com','http://www.jd.com/','http://www.taobao.com/' ]# 线程锁 lock = threading.Lock() # 标记是否是第一次写入可用代理文件,初始化为True表示第一次 first_write = Truedef replace_comma_with_colon(raw_input_file, output_file):"""替换文件中逗号为冒号,并保存到新文件。"""with open(raw_input_file, 'r') as file:lines = file.readlines()# 替换逗号为冒号modified_lines = [line.replace(',', ':').strip() for line in lines]# 写入新的文件,'w'模式会自动清空原有内容再写入with open(output_file, 'w') as file:for line in modified_lines:file.write(line + '\n')print(f"IP格式处理完成,结果已保存到 {output_file}")def add_port_to_ips(input_file_path, output_file_path, port=80):try:with open(input_file_path, 'r') as infile, open(output_file_path, 'w') as outfile:for line in infile:ip = line.strip() # 去除每行的空白字符(如换行符等)new_ip = f"{ip}:{port}"outfile.write(new_ip + "\n")except FileNotFoundError:print(f"输入文件 {input_file_path} 不存在,请检查文件路径。") def test_proxy(proxy):"""测试单个代理IP是否可用,通过多个URL验证,只有全部验证通过才认定可用,并实时写入文件。"""global first_writeproxy = proxy.strip() # 移除行尾的换行符if not proxy: # 跳过空行return None# 设置代理proxies_dict = {'http': f'http://{proxy}','https': f'https://{proxy}'}is_available = Truefor url in test_urls:try:# 发送请求,设置超时时间为5秒response = requests.get(url, proxies=proxies_dict, timeout=5)if response.status_code!= 200:is_available = Falsebreakexcept requests.RequestException as e:is_available = Falsebreakif is_available:print(f'代理IP {proxy} 可用')with lock:# 根据是否第一次写入来决定文件打开模式mode = 'w' if first_write else 'a'with open(available_proxy_file_path, mode) as file:file.write(f'{proxy}\n')if first_write:first_write = False # 第一次写入后标记设为Falsereturn proxyelse:print(f'代理IP {proxy} 不可用')return Nonedef main():# 第一步:处理IP文件# replace_comma_with_colon(raw_input_file, processed_output_file)add_port_to_ips(raw_input_file,processed_output_file)# 第二步:读取替换后的IP文件,验证代理IPwith open(processed_output_file, 'r') as file:proxies = file.readlines()# 使用ThreadPoolExecutor并发执行with ThreadPoolExecutor(max_workers=20) as executor:future_to_proxy = {executor.submit(test_proxy, proxy): proxy for proxy in proxies}for future in as_completed(future_to_proxy):proxy = future_to_proxy[future]try:future.result() # 触发验证逻辑except Exception as e:print(f'代理IP {proxy} 验证过程中出现错误: {e}')print(f"\n代理验证完成,可用代理IP已写入文件: {available_proxy_file_path}")if __name__ == "__main__":main()
可以多试试几个网站来筛选,然后筛选成功的ip会保存到InProxyPool.txt文件。。
四、安装burp插件
1.BurpAutoProxySwitcherPlugins
项目地址:https://github.com/Maikefee/BurpAutoProxySwitcherPlugins_Maikefee
2.jpython-standalone-2.7.71.jar
下载地址:https://www.jython.org/download
3.在burpsuite导入jpython环境
将jpython导入(注意:文件目录不要出现中文路径)
4.导入BurpAutoProxySwitcherPlugins插件
导入插件(不要出现中文路径)
点击next,有output表示导入成功
可以看到工具栏多了proxy switcher的插件
五、使用插件
1.把我们筛选好的存放ip代理池的文件放进去
2.然后load proxies就可以导入成功了
3.以在线靶场做演示:https://sqli-labs.bachang.org/Less-1/?id=1
首先抓包
发送到Intruder模块添加传参点
添加字典的payload
然后开始攻击
有200状态码说明回显成功,存在注入点
好啦,本文的内容就到这了,希望对你有所帮助咯。。