WebCrack:一键自动化日站工具 ——yzddMr6

前言

当初日学校内网的时候有很多后台,就想着能不能批量检测一下弱口令

但是学校的后台系统种类很多,asp aspx php jsp 等等

因为单个网站的爆破比较好整,直接上burp或者py脚本或者hydra

好像还没有听说过批量工具

想着找一找有没有现成的工具能测一测。

还真发现github上有一个

https://github.com/TideSec/web_pwd_common_crack

好像很厉害的样子

下载下来试了一下,然而结果并不如人意

误报率有百分之六十吧,可以说是非常不理想。

其实目前市面上各种爆破工具并不少

但是要么只能爆破某个指定的管理系统,要么就是不支持批量

所以自己就想着写一个万能网站批量爆破的脚本,并且在一周内进行了简单的实现。

现在博客建立起来了,想着是时候来记录一下。

工具简介

webcrack是一款web后台弱口令批量爆破、检测工具。

支持当前各大主流cms管理系统,如dz论坛,织梦,ecshop等。

在url.txt中放入后台地址即可进行自动化检测。

思路及过程

思路其实挺简单

提取表单 -> 放入数据 -> 发送数据 -> 判断返回内容

但是实现起来的难点主要有两个

1.如何从表单各种奇奇怪怪的参数跟token中准确提取用户名和密码这一栏
2.如何判断是否登录成功

在测试过程中发现原来世界上有那么多叼毛网站。。。

写的非常不规范。。。

想要兼容所有的情况实在很难。

只能采取多种判断策略以及一些折中的办法

尽可能考虑所有可能出现的情况。

问题一:如何准确提取账号密码

问题1的解决是靠大量测试后总结出来的关键字

从id或者class中提取键名与字典相对比,如果存在关键字即为要爆破的用户名或密码

问题二:如何判断是否登录成功

主要精力都放在解决这个问题上,因为不同后台的登录的情况实在是五花八门。

举个例子,有些是登录后给你重定向302到后台

有些是给你重定向到登录失败页面

有些是给你返回个登录成功,然后你要手动去点跳转后台

有些直接返回空数据包。。。

本菜鸡也不会什么机器学习什么深度学习模型。。。

想要通过一个办法是不可能一劳永逸的解决这个问题的。

经过大量的测试,最后使用以下三个办法大大减少了误报率

1. 判断用户名跟密码的键名是否存在在跳转后的页面中
2. error_length 动态检测
3. 关键字黑名单检测

这三个办法是我经过无数次测试才总结出来的经验。。。

经过测试,准确率已经达到了百分之八十。

更新日志

1.0版本

  1. 写出demo

  2. 减小误报率

  3. 增加随机UA头 随机X-Forwarded-For和 随机Client-IP

1.5 版本

  1. 可以通过域名生成动态字典

  2. 可以探测系统是否存在因为设计缺陷而造成的万能密码漏洞

  3. 代码结构优化,提高性能

2.0 版本

  1. 启动多进程,放弃辣鸡多线程

  2. 增加special_case,可以识别部分cms,并针对结果采用指定的识别方式

  3. 修复reset按钮带来的bug

TO DO

  1. 增加简单的验证码识别模块

  2. 考虑采用协程的方式优化性能

  3. 完善special_case

工具截图

截几张图证明一下我不是在瞎BB

image
image
image

最后

这个项目真的是倾注了我很多的心血。

文章中写的简单,然而实际在测试脚本中由于世界上的各种傻屌网站实在是太多了。。。

各种小问题小bug。。。

每个版本自己都会手工调试成百上千次,直到达到稳定。

因为担心公开后网上的hc大佬跟脚本小子用脚本瞎鸡儿乱跑

所以暂时不准备向任何人公开源代码。