文章总结: 文档介绍作者将原有臃肿工具SPiderX重构为轻量级登录自动化爆破工具LichAuto,该工具能自动识别登录页面类型并采用相应爆破策略,支持简单POST请求和复杂验证码破解。重点展示了工具在护网演练、资产梳理等场景的应用,并创新性地通过MCP接口实现AI自动化调用,体现了安全工具与AI联动的未来发展方向。 综合评分: 85 文章分类: 渗透测试,安全工具,红队,安全开发,自动化
登录自动化爆破做成mcp工具
原创
Licharse Licharse
Licharsec
2026年6月24日 18:05 浙江
在小说阅读器读本章
去阅读
之前写过一个叫 SPiderX 的东西,功能堆得越多,代码越肿。
后来想通了,工具不是越重越强,是越精越好用。 在 AI 帮助下把核心抽出来,重写成一个轻量脚本。
脚本写完了,我又琢磨——现在 AI 自动化这么热,能不能让 AI 自己来调这玩意儿?
于是就折腾出了 LichAuto。
就干一件事
批量测登录弱口令。
你手里握着几十上百个 URL,里面混着各种登录页。有的就是个老系统表单 POST,有的带 JS 加密,有的还有验证码。
人工测?一个一个开浏览器,输 admin/admin123,等响应,下一个。搞完一批天都黑了。
LichAuto 的逻辑就一句话:URL 扔进去,它自己判断对面什么路数,选合适的姿势怼,然后把结果告诉你。
全程不需要人盯着。
什么场景能用
护网大资产批量扫。 几百个 URL 塞进去,自动过滤非登录页,自动分类难度,多线程干。简单目标多线程多个请求试多组密码,复杂目标开浏览器自动识别验证码。
县市级资产梳理。 县市的系统那叫一个五花八门——有零几年的 ASP 站点,一个 input 就交密码了;有新上的系统套了 Vue,登录还带验证码;还有的压根不是登录页。LichAuto 会自动分,该快的快,该慢的慢,不是登录页的跳过。
但我自己觉得最有意思的用法是这个——做成 MCP 让 AI 调。
目前AI自动化测网站已经成为了一种新趋势,以opencode举例,你在 opencode 里跟它说:
“扫一下这批资产按照合规渗透测试方式”
如果遇到登录框,它自己调 LichAuto → 拿结果 → 再开浏览器验证 → 输出结果,当然这只是一个小功能,例如burp的一个插件,但现在是属于AI的mcp工具
这才是以后工具该有的形态——不一定要有界面,但要让 AI 能调用,可以快速嵌入到更大的自动化流程里去。
跑一遍看看
开 20 个本地目标,端口 8000~8019。8 个简单登录,12 个复杂登录(含 JS 加密+验证码)。
先分类
脚本并发请求所有页面,看 HTML 结构:
有没有 <input type="password">?没有就跳过。
有没有 jsencrypt、RSA、AES 这些关键词?有就走复杂模式。
有没有验证码图片标签?有也走复杂模式。
都没有?简单模式,直接 POST 怼。
20 个目标,0.3 秒分完。8 个简单,12 个复杂,0 个未知。
LichAuto 的整个流程就是这样串起来的:
简单爆破
就是 requests 发 POST,没什么技术含量,主打一个快:
http://127.0.0.1:8002 -> root:123456
http://127.0.0.1:8004 -> admin:root
http://127.0.0.1:8001 -> admin:root
http://127.0.0.1:8003 -> root:root
http://127.0.0.1:8006 -> admin:root
http://127.0.0.1:8009 -> root:root
http://127.0.0.1:8013 -> root:123456
http://127.0.0.1:8015 -> admin:123456
8 个目标,0.3 秒,全中。
复杂爆破
复杂的就得 Playwright 上了。headless Chromium 打开页面,自动定位用户名框、密码框、登录按钮、验证码图。
然后开始试密码——每次自动截图验证码,用 ddddocr 识别,填入,点登录,看结果。
[8000] 发现验证码图片
[8005] 发现验证码图片
OCR引擎初始化成功
[8005] 识别验证码: 7287
[8000] 识别验证码: 1175
试 admin:123456 → 失败
试 admin:admin@123 → 失败
……
[8005] root:123456 → 识别验证码: 1727 → 登录成功!
[8000] root:root → 识别验证码: 9686 → 登录成功!
验证码识别不是每次都准,但失败了会刷新重试。多试几次总能蒙对。
简单 8 个全中,复杂演示的 2 个也拿下了:
架构
就几个文件:
lichauto-api/
├── config.py 配置(字典、超时、并发数)
├── utils.py 工具函数(日志、OCR、文件读写)
├── classifier.py 分类器
├── cracker_simple.py 简单爆破
├── cracker_complex.py 复杂爆破 + 验证码
├── lichauto.py 主流程编排
└── mcp_server.py MCP接口
核心流程就三步:分类 → 简单爆破 → 复杂爆破。
没什么花里胡哨的设计,配置文件里调一下字典、线程数、超时时间就能用。
MCP Server 接入
这个反而是最简单的部分。
写个 mcp_server.py,用 FastMCP 把函数暴露出去:
python
from mcp.server.fastmcp import FastMCP
from lichauto import LichAuto
mcp = FastMCP("lichauto")
@mcp.tool()
def auto_crack(urls: list[str]) -> dict:
lich = LichAuto()
return lich.run(urls)
mcp.run()
在 opencode.json 里注册一下:
json
{
"mcp":{
"lichauto":{
"type":"local",
"command":["python","path/to/mcp_server.py"],
"enabled":true
}
}
}
完事。AI 的工具列表里就多了一个 lichauto_auto_crack,跟内置工具一样用。
最后
从 SPiderX 到 LichAuto,算是一个从做加法到做减法的过程。
https://github.com/LiChaser/SpiderX
工具本身不复杂,核心逻辑就那么点。但套上 MCP 之后,它从一个只能手敲命令的脚本,变成了 AI 能自主调用的能力单元。
我觉得这才是以后安全工具的方向——不一定要有好看的界面,但要能跟 AI 联动,嵌入到更大的自动化流程里去。
毕竟未来不是人用工具,是 AI 用工具,人管 AI。(以上为v4pro按照我的以往文风叙述….)
免责声明:
本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。
任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。
本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我。
本文转载自:Licharsec Licharse Licharse《登录自动化爆破做成mcp工具》
版权声明
本站仅做备份收录,仅供研究与教学参考之用。
读者将信息用于其他用途的,全部法律及连带责任由读者自行承担,本站不承担任何责任。











评论