Zmap+python脚本+burp实现自动化Fuzzing测试

声明
学习视频来自 B 站UP主泷羽sec,如涉及侵权马上删除文章。

笔记的只是方便各位师傅学习知识,以下网站只涉及学习内容,其他的都与本人无关,切莫逾越法律红线,否则后果自负。

✍🏻作者简介:致力于网络安全领域,目前作为一名学习者,很荣幸成为一名分享者,最终目标是成为一名开拓者,很有趣也十分有意义
🤵‍♂️ 个人主页: @One_Blanks
欢迎评论 💬点赞👍🏻 收藏 📂加关注+

目录

      • Zmap
        • 一、安装
        • 二、全网爬取
      • Python脚本筛选并构建实时代理池
      • Burp插件使用
      • 扩展
      • 总结

Zmap

一、安装
  • 更新系统和安装基础依赖

:使用包管理工具(如apt-get)更新系统并安装必要的基础依赖。例如,在Ubuntu上,您可以使用以下命令:

sudo apt-get updatesudo apt-get install -y build-essential cmake libgmp3-dev gengetopt libpcap-dev flex byacc libjson-c-dev pkg-config libunistring-dev
  • 克隆ZMap项目仓库

:从GitHub克隆ZMap项目的源代码到本地。

git clone https://github.com/zmap/zmap.gitcd zmap  
  • 编译和安装ZMap

:进入ZMap目录后,执行以下命令来编译和安装ZMap。

mkdir build
cd build
cmake ..
make
sudo make install

此外,为了验证ZMap是否安装成功,您可以运行以下命令查看ZMap的版本信息:

zmap --version
二、全网爬取
zmap -p 80,443,1080 -o raw_ips.txt

  • 先扫上几十万条

Python脚本筛选并构建实时代理池

  • 先给数据洗一下,Zmap出来的都是逗号

Python脚本

# 读取文件并替换逗号为冒号
def replace_comma_with_colon(input_file, output_file):with open(input_file, 'r') as file:lines = file.readlines()# 替换逗号为冒号modified_lines = [line.replace(',', ':').strip() for line in lines]# 写入新的文件with open(output_file, 'w') as file:for line in modified_lines:file.write(line + '\n')# 指定输入和输出文件路径
input_file = 'raw_ips.txt'
output_file = 'ip.txt'# 调用函数
replace_comma_with_colon(input_file, output_file)print(f"处理完成,结果已保存到 {output_file}")
  • 得到正常的ip就拿到验证脚本去验证
import requests# 代理IP文件路径
proxy_file_path = 'ip.txt'
# 可用代理IP输出文件路径
available_proxy_file_path = 'available_proxies.txt'# 测试URL,用于验证代理IP是否可用
test_url = 'http://www.baidu.com'# 可用代理IP列表
available_proxies = []# 读取代理IP文件
with open(proxy_file_path, 'r') as file:proxies = file.readlines()# 验证每个代理IP
for proxy in proxies:proxy = proxy.strip()  # 移除行尾的换行符if not proxy:  # 跳过空行continue# 设置代理proxies_dict = {'http': f'http://{proxy}','https': f'https://{proxy}'}try:# 发送请求,设置超时时间为5秒response = requests.get(test_url, proxies=proxies_dict, timeout=5)if response.status_code == 200:print(f'代理IP {proxy} 可用')available_proxies.append(proxy)except requests.RequestException as e:print(f'代理IP {proxy} 不可用: {e}')# 将可用代理IP写入文件
with open(available_proxy_file_path, 'w') as file:for ip in available_proxies:file.write(f'{ip}\n')print(f'\n可用代理IP已写入文件: {available_proxy_file_path}')

验证这里跑的会很慢,可以将输出的结果先全选复制拿过来

  • 接下来就是对这些输出内容进行筛选的脚本
# 读取原始文件
input_file = 'RIP.txt'
output_file = 'IPP.txt'with open(input_file, 'r', encoding='utf-8') as infile, open(output_file, 'w', encoding='utf-8') as outfile:for line in infile:if '不可用' in line:continue  # 跳过包含“不可用”的行elif '可用' in line:# 提取 IP:Port 部分parts = line.split()for part in parts:if ':' in part and part.count('.') == 3:outfile.write(part + '\n')break

然后 IPP.txt 文件中就是我们所需要使用的脚本了

Burp插件使用

github插件地址 :BurpAutoProxySwitcher

下载之后拿到py文件,如果没有下载jython包的话先下jython包,官网https://www.jython.org/download.html

  • 然后再burp中载入

之后会出现一个 Proxy Switcher 选项,那就是插件了

先输入路径(主要文件中的数据需要是每行ip:port的形式否则解释失败),然后加载,最后启用,在后面有每次请求代理 1 就是请求一次换一个,后面还有HTTP、SOCKS5 协议,后面可以将1080端口的代理服务器筛出来用这个,我这里没筛还是比较杂。

  • 来到Intruder爆破模块下,对一个外站发送请求进行测试,200都是请求成功的,50x就是服务器不让访问的(可能是地区问题),用这些筛出来的测试成功率还可以,但是可以筛的更精细,如根据站点所在地使用不同地点国家的代理服务器(这样请求质量就会更高)

像我上面这张图就是用日本的一个代理服务器请求成功的图(因为是用Zmap全网爬的嘛)

扩展

将我写的脚本进行整合,对代理池进行持久化更新,对代理池进行严选评级分类,利用字典炮轰。

总结

更高质量的代理需要我们去进行筛选和分类的,并且自动化脚本也是需要我们不断的去优化的,我上面说的各种脚本就是分开的(暂时还没有整合),那就可以整合到一起实现完全自动化,然后每个小时更新一次代理池,再对代理池持续进行筛选,并且将代理池按照不同地区进行分类,针对站点进行测试,越高质量的代理炮轰效果越好,否则会遗漏字典的爆破数据,后面就可以直接去炮轰了。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/60109.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

红外相机和RGB相机外参标定 - 无需标定板方案

1. 动机 在之前的文章中红外相机和RGB相机标定:实现两种模态数据融合_红外相机标定-CSDN博客 ,介绍了如何利用标定板实现外参标定;但实测下来发现2个问题: (1)红外标定板尺寸问题,由于标定板小…

android:taskAffinity 对Activity退出时跳转的影响

android:taskAffinity 对Activity跳转的影响 概述taskAffinity 的工作机制taskAffinity对 Activity 跳转的影响一个实际的开发问题总结参考 概述 在 Android 开发中,任务栈(Task)是一个核心概念。它决定了应用程序的 Activity 如何相互交互以…

Ubuntu常见命令

关于export LD_LIBRARY_PATHcmake默认地址CMakelists.txt知识扩充/home:挂载新磁盘到 /home 子目录 关于export LD_LIBRARY_PATH 程序运行时默认的依赖库的位置包括lib, /usr/lib ,/usr/local/lib 通过命令export LD_LIBRARY_PATHdesired_path:$LD_LIBRARY_PATH追加…

时间类的实现

在现实生活中,我们常常需要计算某一天的前/后xx天是哪一天,算起来十分麻烦,为此我们不妨写一个程序,来减少我们的思考时间。 1.基本实现过程 为了实现时间类,我们需要将代码写在3个文件中,以增强可读性&a…

php交友源码交友系统源码相亲交友系统源码php社交系统php婚恋源码php社区交友源码vue 仿交友社交语聊技术栈

关于PHP交友、相亲、婚恋、社区交友系统的源码以及Vue仿交友社交语聊技术栈,以下是一些详细信息和建议: 一、PHP交友系统源码 系统架构设计 前端展示层:负责向用户提供直观友好的界面,包括注册登录页面、个人资料页面、匹配页面、…

Java小技艺

使用bat文件启动jar包 平时在工作中运行jar包一般是导出后命令行窗口运行 jar -jar xxx.jar 这个其实是很不方便的。可以在win上编写bat脚本去运行jar包的。 1 编写bat脚本 start jre8/bin/javaw -jar xxxx.jar2 将jre和待执行的jar包存放到一个目录下(和bat文件在同一目录…

蓝桥杯第22场小白入门赛2~5题

这场比赛开打第二题就理解错意思了,还以为只能用3个消除和5个消除其中一种呢,结果就是死活a不过去,第三题根本读不懂题意,这蓝桥杯的题面我只能说出的是一言难尽啊。。第四题写出来一点但是后来知道是错了,不会正解&am…

‘视’不可挡:OAK相机助力无人机智控飞行!

南京邮电大学通达学院的刘同学用我们的oak-d-lite实现精确打击无人机的避障和目标识别定位功能,取得了比赛冠军。我们盼望着更多的朋友们能够加入到我们OAK的队伍中来,参与到各式各样的比赛中去。我们相信,有了我们相机的助力,大家…

最小生成树——Kruskal、Prim算法

图的存储: 高阶数据结构——图 文章目录 目录 文章目录 一、kruskal算法 二、Prim算法 前言 连通图中的每一棵生成树,都是原图的一个极大无环子图,即:从其中删去任何一条边,生成树 就不在连通;反之&#xf…

集群聊天服务器(9)一对一聊天功能

目录 一对一聊天离线消息服务器异常处理 一对一聊天 先新添一个消息码 在业务层增加该业务 没有绑定事件处理器的话消息会派发不出去 聊天其实是服务器做一个中转 现在同时登录两个账号 收到了聊天信息 再回复一下 离线消息 声明中提供接口和方法 张三对离线的李…

华为再掀技术革新!超薄膜天线设计路由器首发!

随着Wi-Fi技术的不断进步,新一代的Wi-Fi 7路由器凭借其高速率、低延迟、更稳定的性能受到了广泛关注。它能够更好地满足现代家庭对网络性能的高要求,带来更加流畅、高效的网络体验。9月24日,华为在其秋季全场景新品发布会上推出了全新Wi-Fi 7…

【阅读记录-章节2】Build a Large Language Model (From Scratch)

目录 2.Working with text data2.1 Understanding word embeddings2.2 Tokenizing text通过一个简单的实验来理解文本的词元化概念关键概念 2.3 Converting tokens into token IDs实现分词器类(Tokenizer Class)应用分词器测试文本的编码与解码通过分词器…

SDF,一个从1978年运行至今的公共Unix Shell

关于SDF 最近发现了一个很古老的公共Unix Shell服务器,这个项目从1978年运行至今,如果对操作系统,对Unix感兴趣,可以进去玩一玩体验一下 SDF Public Access UNIX System - Free Shell Account and Shell Access 注册方式 我一…

关于Qt C++中connect的几种写法

目录 1. 传统的槽函数写法 2. 使用函数指针的connect写法(5.0) 3. Lambda表达式作为槽函数(C11) 4.使用QOverload选择重载信号的写法 这connect函数就像是编程世界里的“茴”字,千变万化,各有千秋。咱们…

反向代理模块

1 概念 1.1 反向代理概念 反向代理是指以代理服务器来接收客户端的请求,然后将请求转发给内部网络上的服务器,将从服务器上得到的结果返回给客户端,此时代理服务器对外表现为一个反向代理服务器。 对于客户端来说,反向代理就相当于…

用jquery做一个websocket客户端

先看效果图&#xff1a; 功能很简单&#xff0c;就是作为客户端连接websocket&#xff0c;并实现接受和发送消息。具体代码如下&#xff1a; <!DOCTYPE html> <html lang"zh-cn"> <head><meta charset"UTF-8"><meta name"…

抽象java入门1.5.3.2——类的进阶(中)

前期回顾&#xff1a;抽象java入门1.5.3.1——类的进阶https://blog.csdn.net/c_yanxin_ru/article/details/140858898?spm1001.2014.3001.5501 总结&#xff1a; 在代码溯源中&#xff0c;我发现了一个奇怪的东西&#xff0c;就是OUT不是类中类&#xff08;不是常规类的写法…

蓝桥杯每日真题 - 第17天

题目&#xff1a;&#xff08;最大数字&#xff09; 题目描述&#xff08;13届 C&C B组D题&#xff09; 题目分析&#xff1a; 操作规则&#xff1a; 1号操作&#xff1a;将数字加1&#xff08;如果该数字为9&#xff0c;变为0&#xff09;。 2号操作&#xff1a;将数字…

Ease Monitor 会把基础层,中间件层的监控数据和服务的监控数据打通,从总体的视角提供监控分析

1. 产品定位 Ease Monitor 有如下的产品定位&#xff1a; 关注于整体应用的SLA。 主要从为用户服务的 API 来监控整个系统。 关联指标聚合。 把有关联的系统及其指示聚合展示。主要是三层系统数据&#xff1a;基础层、平台中间件层和应用层。 快速故障定位。 对于现有的系统…