ListScanner:轻量级敏感文件泄露扫描器
先交个底这玩意儿是我做毕业设计时顺手鼓捣出来的。导师要个能演示的东西我自己也想借机练练手它能干的事不复杂扫一扫一个网站看看管理员是不是把不该露在外面的文件给露出来了。顺带声明一句项目已在 GitHub 开源MIT 协议全程只针对你有权限测的目标不爆破、不 exploit、不干坏事。一、为啥要做这个搞安全入门的时候你会发现真正翻车的往往不是什么高深漏洞而是人犯懒留下的破绽开发把.git目录、.env配置文件、备份压缩包、phpinfo 页面直接扔在网站根目录下谁都能随手把源码和密码打包带走。我这工具目标很单纯把这种一眼就能看见、但老被忽略的暴露点一条命令扫出来再帮你分个轻重缓急。适合刚学安全、想找个靶场练手的同学开发上线前想自查我是不是又漏文件了的老师上课演示信息收集阶段到底能摸到啥的思路上它参考了老牌目录扫描工具Dirsearchmaurosoria/dirsearch同样拿一本字典去挨个发请求看返回状态码判断路径在不在。我在它那套思路上重点往敏感文件 / 配置泄露这块靠又额外加了风险分级和自带靶场让新手别一上来就懵。二、它都能干点啥两种用法Web 界面Flask和命令行CLI都给你备好了看心情选风险分级命中结果按 高危 / 中危 / 低危 / 信息 四档排好先把要命的挑出来自带靶场项目里塞了个本地测试站点testsite/一启动就自动伪造出暴露的.git/.svn/.hg之类的文件不用联网、不用自己搭直接练词表随便改敏感路径名单都在dictionary/里想加啥自己加门槛低纯 Python依赖就一个 FlaskDocker 也能一键起三、项目长啥样ListScanner/ ├── listscanner/ # 核心扫描引擎配置、扫描、分类、词表、CLI、报告 ├── webapp.py # Flask Web 界面 ├── main.py # 靶场启动脚本 ├── ListScanner.py # 命令行入口 ├── testsite/ # 本地授权测试靶场含 prepare_testsite.py ├── dictionary/ # 敏感路径 / 文件名词表 ├── templates/ # Web 界面模板 ├── requirements.txt ├── Dockerfile / docker-compose.yml └── README.md / LICENSEhttps://github.com/srjm1234/ListScanner四、怎么跑起来先跑靶场练手推荐# 1. 装依赖pipinstall-rrequirements.txt# 2. 启动内置靶场默认 http://127.0.0.1:8080python main.py# 3. 另开一个终端拿 CLI 扫它python ListScanner.py--urlhttp://127.0.0.1:8080靶场一启动就会伪造出那些暴露的版本控制目录扫完你就能看见.git/config、.svn/entries这种高危命中——这就是教科书里说的源码泄露在这儿能直接眼见为实。想用网页版python webapp.py浏览器打开提示的地址填个你有权限测的 URL点开始分级结果就出来了懒得装环境用 Dockerdockercompose up--buildWindows 用户也能直接从 GitHub Release 下个打包好的ListScanner.exe双击就跑Python 都不用装。五、它到底能扫出啥工具看返回状态和命中的路径来判风险典型情况大概这样命中示例风险说人话.git/config高危Git 库露了源码和历史可能全被拖走.env高危环境配置文件数据库密码、API Key 常在这儿phpinfo.php中危服务器底裤都给你看光了backup.zip/index.php.bak中危源码备份直接能下robots.txt信息可能顺藤摸瓜摸到隐藏后台分级的意义就一句话先把能让你家底翻光的搞定再慢慢收拾剩下的。六、正经话这段别跳过虽然前面一直在开玩笑但这段是真的要认真说的本工具只能在你已经拿到明确授权的目标上用只做路径存不存在的探测和信息收集不含密码爆破、漏洞利用、认证绕过或批量攻击。出了问题你自己兜着作者和贡献者不背锅。别拿去乱扫别人的站到时候不是毕设答辩是派出所约谈。七、参考项目Dirsearch经典的字典式 Web 路径/目录扫描工具我这工具的字典 状态码判定思路就是从它那儿来的。仓库https://github.com/maurosoria/dirsearch反正毕设做都做了能帮到同样在入门的朋友就当回本了。靶场自带、词表能改、风险分得明明白白拿它当练信息收集的第一个小玩具挺合适。有啥问题欢迎去仓库提 issue我这个毕设产物说不定还能继续长肉。