在安全/渗透/逆向测试的日常工作中,Web渗透往往是项目的核心切入点和关键环节。当安全人员获得正规授权后,通常会收到一份包含IP资产和Web地址的列表,此时,如何从海量URL中快速、准确地筛选出存活的、可访问的目标,就成为了一项亟需自动化解决的基础性工作。
工具概览:Web-SurvivalScan
为解决这一问题,安全研究人员曾哥(@AabyssZG)和jingyuexing共同开发了一款名为 Web-SurvivalScan 的Python脚本。该工具的核心功能是批量验证Web资产的存活状态,并能智能处理多种URL输入格式,自动生成清晰、可视化的检测报告。
准备工作:目标资产整理
使用前,你需要将待检测的Web资产地址整理到一个文本文件中。工具支持多种URL格式,无论是单纯的域名(如 example.com),还是带有协议和端口的完整地址(如 http://example.com:8080 或 http://example.com),都能被正确识别,有效避免了因格式问题导致的检测失败。
例如,你可以准备一个名为 targets.txt 的文件,其中每行包含一个待检测的URL。内容可能如下所示,文件采用UTF-8编码,使用Windows(CRLF)换行符:
https://example1.com:443
https://example2.com:1443
http://example3.com:8111
...
运行脚本与交互过程
将目标文件与脚本 Web-SurvivalScan.py 置于同一目录下,在终端中运行 python3 Web-SurvivalScan.py 即可启动。
启动后,脚本会展示一个醒目的ASCII艺术Logo,并显示版本信息(如Version: 1.06)和作者信息,然后进入交互式命令行界面。整个过程在一个命令行窗口中完成,其交互流程如下:
- 输入目标文件名:脚本会提示
请输入输入目标TXT文件名 FileName >>>,此时输入你准备的 targets.txt。
- 配置代理(可选):如果你需要通过代理服务器进行访问,可以在
请输入代理IP和端口(无则回车) Proxy >>> 提示后输入代理信息。支持两种格式:
- 带有HTTP认证:
HTTP认证账号:HTTP认证密码@代理IP:端口
- 无HTTP认证:
代理IP:端口
如果不需要代理,直接按回车跳过。
- 指定访问路径(可选):脚本还会询问
请输入需要访问的路径(无则回车) DirName >>>,此处可以输入一个需要批量附加到所有目标URL后的路径(如 /admin),若不指定则直接按回车。
之后,脚本便会开始自动化的检测流程。它会依次访问目标文件中的每一个URL,并显示实时进度:
正在检测目标URL https://www.example.com
网页长度为:31969 网页标题为: 示例网站标题
状态码为:200 存活URL为: https://www.example.com
如果目标服务器拒绝了请求,脚本会提示 URL为 ... 的目标被拒绝请求,予以跳过! 并继续检测下一个目标,保证了检测过程的健壮性。
结果输出与分析
检测完成后,脚本会生成多个结果文件,方便你进行后续分析和整理。
- output.txt:该文件保存了所有状态码为200(即成功访问)的存活Web资产URL,每行一条记录。
- outerror.txt:此文件导出了返回其他状态码(如404、403、500等)的Web资产。这些目标虽然未能成功访问,但可能暴露了错误信息或配置问题,是后期排查遗漏和寻找其他脆弱点的重要线索。
- .data/report.json:所有资产的详细运行数据(包括URL、状态码、响应长度、网页标题等)均以JSON格式存储在此文件中,便于被其他程序或脚本进行二次处理和分析。
- report.html:这是一个可视化的HTML报告,将检测结果以更直观的表格形式呈现。
HTML报告(report.html)的内容通常整理为如下表格形式,清晰展示了每个目标的检测状态:
| URL |
状态码 |
说明 |
https://blog.example.cn |
200 |
示例团队博客 |
https://dh.example.cn |
200 |
示例团队导航页 |
https://www.example.cn |
200 |
示例团队官网 |
https://vlog.example.cn |
0 |
请求被拒绝 |
https://threat.example.cn/ |
200 |
威胁情报页面 |
https://test.example.cn |
0 |
请求被拒绝 |
报告顶部会统计总的存活(survival)、拒绝(reject)和死亡(dead)目标数量,使你能够迅速掌握资产的整体存活状况。这种将繁琐的运维 & 测试工作自动化的方式,极大地提升了安全工程师的工作效率。
获取与使用
你可以通过其GitHub仓库 github.com/AabyssZG/Web-SurvivalScan 获取该工具的源代码和最新版本。通过简单的几步配置和命令,即可将Web资产存活验证这项重复性工作自动化,为后续深入的渗透测试打下坚实基础。
参考资料
[1] 一款资产存活验证工具, 微信公众号:mp.weixin.qq.com/s/KXi-xR32WJf1O43CtdGxqw
版权声明:本文由 云栈社区 整理发布,版权归原作者所有。
|