先交个底:这玩意儿是我做毕业设计时顺手鼓捣出来的。导师要个能演示的东西,我自己也想借机练练手,它能干的事不复杂:扫一扫一个网站,看看管理员是不是把不该露在外面的文件给露出来了。

顺带声明一句:项目已在 GitHub 开源(MIT 协议),全程只针对你有权限测的目标,不爆破、不 exploit、不干坏事。

一、为啥要做这个

搞安全入门的时候你会发现,真正翻车的往往不是什么高深漏洞,而是人犯懒留下的破绽:开发把 .git 目录、.env 配置文件、备份压缩包、phpinfo 页面直接扔在网站根目录下,谁都能随手把源码和密码打包带走。

我这工具目标很单纯:把这种"一眼就能看见、但老被忽略"的暴露点,一条命令扫出来,再帮你分个轻重缓急。适合:

  • 刚学安全、想找个靶场练手的同学
  • 开发上线前想自查"我是不是又漏文件了"的
  • 老师上课演示"信息收集阶段到底能摸到啥"的

思路上它参考了老牌目录扫描工具 Dirsearchmaurosoria/dirsearch):同样拿一本字典去挨个发请求,看返回状态码判断路径在不在。我在它那套思路上,重点往"敏感文件 / 配置泄露"这块靠,又额外加了风险分级和自带靶场,让新手别一上来就懵。

二、它都能干点啥

  • 两种用法:Web 界面(Flask)和命令行(CLI)都给你备好了,看心情选
  • 风险分级:命中结果按 高危 / 中危 / 低危 / 信息 四档排好,先把要命的挑出来
  • 自带靶场:项目里塞了个本地测试站点 testsite/,一启动就自动伪造出暴露的 .git / .svn / .hg 之类的文件,不用联网、不用自己搭,直接练
  • 词表随便改:敏感路径名单都在 dictionary/ 里,想加啥自己加
  • 门槛低:纯 Python,依赖就一个 Flask,Docker 也能一键起

三、项目长啥样

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 / LICENSE

https://github.com/srjm1234/ListScanner

四、怎么跑起来

先跑靶场练手(推荐)

# 1. 装依赖
pip install -r requirements.txt

# 2. 启动内置靶场(默认 http://127.0.0.1:8080)
python main.py

# 3. 另开一个终端,拿 CLI 扫它
python ListScanner.py --url http://127.0.0.1:8080

靶场一启动就会伪造出那些暴露的版本控制目录,扫完你就能看见 .git/config.svn/entries 这种高危命中——这就是教科书里说的"源码泄露",在这儿能直接眼见为实。

想用网页版

python webapp.py

浏览器打开提示的地址,填个你有权限测的 URL,点开始,分级结果就出来了
WebUI样式

懒得装环境,用 Docker

docker compose up --build

Windows 用户也能直接从 GitHub Release 下个打包好的 ListScanner.exe,双击就跑,Python 都不用装。

五、它到底能扫出啥

工具看返回状态和命中的路径来判风险,典型情况大概这样:

命中示例 风险 说人话
.git/config 高危 Git 库露了,源码和历史可能全被拖走
.env 高危 环境配置文件,数据库密码、API Key 常在这儿
phpinfo.php 中危 服务器底裤都给你看光了
backup.zip / index.php.bak 中危 源码备份直接能下
robots.txt 信息 可能顺藤摸瓜摸到隐藏后台

分级的意义就一句话:先把能让你家底翻光的搞定,再慢慢收拾剩下的

六、正经话(这段别跳过)

虽然前面一直在开玩笑,但这段是真的要认真说的:
本工具只能在你已经拿到明确授权的目标上用,只做路径存不存在的探测和信息收集,不含密码爆破、漏洞利用、认证绕过或批量攻击。出了问题你自己兜着,作者和贡献者不背锅。别拿去乱扫别人的站,到时候不是毕设答辩,是派出所约谈。

七、参考项目


反正毕设做都做了,能帮到同样在入门的朋友就当回本了。靶场自带、词表能改、风险分得明明白白,拿它当练"信息收集"的第一个小玩具挺合适。有啥问题欢迎去仓库提 issue,我这个"毕设产物"说不定还能继续长肉。

Logo

CANN开发者社区旨在汇聚广大开发者,围绕CANN架构重构、算子开发、部署应用优化等核心方向,展开深度交流与思想碰撞,携手共同促进CANN开放生态突破!

更多推荐