Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/aabysszg/web-survivalscan
对Web渗透项目资产进行快速存活验证
https://github.com/aabysszg/web-survivalscan
scanner-web survival web
Last synced: about 7 hours ago
JSON representation
对Web渗透项目资产进行快速存活验证
- Host: GitHub
- URL: https://github.com/aabysszg/web-survivalscan
- Owner: AabyssZG
- License: mit
- Created: 2023-04-03T07:29:49.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2024-04-18T01:51:51.000Z (7 months ago)
- Last Synced: 2024-08-05T17:43:40.995Z (3 months ago)
- Topics: scanner-web, survival, web
- Language: Python
- Homepage:
- Size: 1.95 MB
- Stars: 366
- Watchers: 5
- Forks: 31
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
![Web-SurvivalScan](https://socialify.git.ci/AabyssZG/Web-SurvivalScan/image?description=1&descriptionEditable=Rapid%20Survival%20Verification%20of%20Web%20Penetration%20Project%20Assets&font=Jost&forks=1&issues=1&language=1&name=1&owner=1&pattern=Solid&stargazers=1&theme=Dark)
**By 曾哥(AabyssZG) && jingyuexing**
## ✈️ 一、工具概述
在日常工作的渗透测试过程中,经常会碰到渗透测试项目,而Web渗透测试通常是渗透项目的重点或者切入口
通常拿到正规项目授权后,会给你一个IP资产列表和对应的Web资产地址,这时候就需要我们进行快速存活验证
![资产列表](/img/资产列表.png)
如图,这个项目给了一万多个IP,并列出了对应的Web资产地址,这个时候就需要快速验证资产存活
网上找了一圈,都没什么好用的工具。于是,就写了这个Web资产存活检测小工具:Web-SurvivalScan
**如果这个工具帮助到了你,欢迎赏个Star~哈哈**
## 📝 二、TODO
* [x] 修复网页Title为空导致报错的Bug
* [x] 支持批量访问固定路径(验证简单漏洞的时候巨有效)
* [x] 支持在导出HTML界面里面显示标题,更方便确认资产信息
* [x] 支持对HTTP代理进行校验,检验代理可用性
* [x] 支持使用HTTP/HTTPS代理所有流量,并可以使用HTTP认证
* [x] 支持将 `:443` 自动识别转换为 `https://`
* [x] 支持读取多种编码格式的TXT(ANSI和UTF-8均支持)
* [x] 支持导出HTML文件,方便资产的可视化整理
* [x] 多线程扫描,1万条Web资产实测20分钟左右跑完
* [x] 存活验证时使用随机User-Agent请求头
* [x] 解决目标SSL证书问题 (自签名证书请改成 `http://` 即可)
* [x] 智能识别目标地址 (`example.com` 和`http://example.com:8080` 以及`http://example.com` 都不会报错)## 🚨 三、安装Python依赖库
```
pip3 install -r requirements.txt
```## 🐉 四、工具使用
首先,需要将目标Web资产批量复制到TXT内,并将该TXT放到本脚本同目录,如下图:
![TXT](/img/TXT.png)
**注:本脚本能智能识别目标地址 (`example.com` 和`http://example.com:8080` 以及`http://example.com` 都不会报错)**
```
# python3 Web-SurvivalScan.py╦ ╦┌─┐┌┐
║║║├┤ ├┴┐
╚╩╝└─┘└─┘
╔═╗┬ ┬┬─┐┬ ┬┬┬ ┬┌─┐┬ ╔═╗┌─┐┌─┐┌┐┌
╚═╗│ │├┬┘└┐┌┘│└┐┌┘├─┤│ ╚═╗│ ├─┤│││
╚═╝└─┘┴└─ └┘ ┴ └┘ ┴ ┴┴─┘╚═╝└─┘┴ ┴┘└┘
Version: 1.11
Author: 曾哥(@AabyssZG) && jingyuexing
Whoami: https://github.com/AabyssZG请输入目标TXT文件名
FileName >>> 【TXT文件名】
请输入需要访问的路径(无则回车)
DirName >>> 【需要批量访问的路径】
请输入代理IP和端口(无则回车)
Proxy >>> 【HTTP认证账号:HTTP认证密码@代理IP:端口】
Proxy >>> 【代理IP:端口(没有HTTP认证的情况下)】
```![Run](/img/Run.png)
跑完后,即可拿到导出的两个文件:`output.txt` 和 `outerror.txt`
- `output.txt`:导出验证存活成功(状态码200)的Web资产
- `outerror.txt`:导出其他状态码的Web资产,方便后期排查遗漏和寻找其他脆弱点
- `.data/report.json`:所有资产的运行数据,按JSON格式导出,方便处理
- `report.html`:将所有资产进行HTML可视化导出,方便整理![HTML](/img/HTML-Out.png)
## 五,感谢各位师傅
### Stargazers
[![Stargazers repo roster for @AabyssZG/Web-SurvivalScan](http://reporoster.com/stars/AabyssZG/Web-SurvivalScan)](https://github.com/AabyssZG/Web-SurvivalScan/stargazers)
### Forkers
[![Forkers repo roster for @AabyssZG/Web-SurvivalScan](http://reporoster.com/forks/AabyssZG/Web-SurvivalScan)](https://github.com/AabyssZG/Web-SurvivalScan/network/members)
### Star History
[![Star History Chart](https://api.star-history.com/svg?repos=AabyssZG/Web-SurvivalScan&type=Date)](https://star-history.com/#AabyssZG/Web-SurvivalScan&Date)