一款多线程批量网站备份文件泄露扫描器。
自动根据域名生成变体字典,扫描常见备份文件(如 .zip、.sql、.bak、.tar.gz 等),优化内存占用,支持代理、自定义字典、进度条显示。
从文件读取的 URL 建议格式(每行一个):
https://www.example.com
http://test.com:8080
https://sub.domain.net/在 1GB 内存 VPS 上,建议线程数 100–200(500 线程可能导致连接池警告或网络瓶颈):
python3 ihoneyBakFileScan_Modify.py -t 150 -f url.txt -o result.txt
Bashpython3 ihoneyBakFileScan_Modify.py -u https://example.com -t 100 -o result.txt攻击者可直接下载数据库备份(.sql/.sql.gz)、源码备份(.zip/.tar.gz/.rar/.7z),获取管理员账号、密钥、敏感配置。
泄露物理路径、后台地址、服务器信息,便于进一步渗透。
大文件备份往往包含更多历史版本数据,易被用于代码审计或供应链攻击。
高危漏洞之一,可能导致整站被接管。
pip install -r requirements.txt
textrequests[socks]>=2.32.0
fake-useragent>=2.0.0
humanize>=4.9.0
tqdm>=4.66.0常见备份后缀(可自行扩展):text.7z .backup .bak .bak.sql .bz2 .db .dmp .dump .dump.sql .gz .jar .rar .sql .sql.bak .sql.gz .sqlite .sqlite3 .tar .tar.bz2 .tar.gz .tar.tgz .tar.xz .tbz .tbz2 .tgz .txz .war .xz .zip
自动生成域名变体(根据域名智能拆分):
https://baidu.com → ['baidu.com', 'baiducom', 'baidu_com', 'baidu', 'com']
https://www.baidu.com → ['www.baidu.com', 'wwwbaiducom', 'www_baidu_com', 'baidu', 'www', ...]
多级子域(如 aaa.bbb.ccc.ddd.com) → 约 9 个变体(完整、去点、换下划线、去子域、去 TLD 等)
77 条默认(推荐,轻量):tmp_info_dic = ['1', '127.0.0.1', '2010'...'2026', 'admin', 'backup', 'bak', 'database', 'db', 'dump', 'wwwroot', 'root', 'log', ...]
130 条扩展(已注释掉,可手动切换,包含中文如 '数据库备份'):tmp_info_dic = ['0','00','000','数据库备份',...]
断点续扫(--resume):每完成一个站点即写入状态文件(结果文件名 + .state),中断后重新执行可跳过已完成站点;结果文件在启动时自动加载去重,重复命中不会重复写入。
HEAD 预检优化(--no-head):默认先 HEAD 再 GET 判定;探测到站点不支持 HEAD 时自动切换为纯 GET 模式,也可通过 --no-head 全程纯 GET。
魔数兜底检测:部分服务器把 .zip/.tar.gz/.db 等以 text/plain 返回,现通过读取前 64 字节魔数(PK/gzip/SQLite 等)兜底判定,无魔数规则的后缀判定不变。
候选优先级:域名变体最优先,其次高频前缀(www/web/backup/bak/db/data/sql/database/dump/admin/wwwroot/root/test/index/home),命中结果更早暴露。
--delay 限速:每个候选请求前可设置延迟秒数,控制扫描强度。
-h, --help 显示帮助
-f, --url-file 批量 URL 文件(每行一个)
-t, --thread 最大线程数(默认 20,建议 100-200)
--connect-timeout TCP 连接超时秒数(默认 3)
--read-timeout 响应头/读取超时秒数(默认 10)
--max-timeouts 单站候选请求超时超过该值后跳过该站(默认 10)
-u, --url 单站点 URL
-d, --dict-file 自定义文件名字典文件(追加到默认字典)
-o, --output-file 输出结果文件(默认 result.txt)
-p, --proxy 代理(如 socks5://127.0.0.1:1080 或 socks5h://user:pass@host:port)
--no-head 跳过 HEAD 预检,候选全部使用 GET 请求(更快,流量更大)
--delay 每个候选请求前的延迟秒数(默认 0)
--resume 断点续扫:跳过状态文件中已完成的站点
# 批量扫描
python3 ihoneyBakFileScan_Modify.py -t 150 -f targets.txt -o leaks.txt
# 批量扫描 + 超时控制
python3 ihoneyBakFileScan_Modify.py -t 100 --connect-timeout 3 --read-timeout 10 --max-timeouts 10 -f targets.txt -o leaks.txt
# 单站点 + 代理 + 自定义字典
python3 ihoneyBakFileScan_Modify.py -u https://target.com -t 100 -p socks5h://127.0.0.1:1080 -d mydict.txt -o result.txt
# 纯 GET 模式(不支持 HEAD 的站点会自动切换为纯 GET,也可手动强制)
python3 ihoneyBakFileScan_Modify.py -u https://target.com -t 100 --no-head -o result.txt
# 断点续扫(中断后重新执行,已完成站点自动跳过,结果自动去重)
python3 ihoneyBakFileScan_Modify.py -t 150 -f targets.txt -o result.txt --resume2026:新增断点续扫(--resume)、--no-head 纯 GET 模式、--delay 限速、魔数兜底检测、候选优先级排序
2026:fake-useragent\humanize\tqdm by Grok
2023.4.19:添加代理支持(socks5/http)
2022.9.15:更改扫描逻辑,修复大列表内存占用过大(逐站点处理)
2022.6.22:增加结果写入、域名规则、随机 UA(原 fake_headers)、线程池修复死锁
2022.2.8:增加 fuzz 规则、hurry.filesize、大小判断、多线程
仅限合法授权测试使用,严禁非法扫描。