WebCrack:网站后台弱口令批量检测工具 ——yzddMr6

经过这么长时间的测试终于算是可以上线了,写篇文章跟大家分享一下自己的开发思路吧

注:本工具借鉴吸收了TideSec的web_pwd_common_crack很多优秀的思路,在此基础上增加了很多拓展功能使其更加强大,在这里给TideSec的大佬点个赞!

前言

在做安全测试的时候,随着资产的增多,经常会遇到需要快速检测大量网站后台弱口令的问题。

然而市面上并没有一个比较好的解决方案,能够支持对各种网站后台的通用检测。

所以WebCrack就应运而生。

工具简介

WebCrack是一款web后台弱口令/万能密码批量爆破、检测工具。

不仅支持如discuz,织梦,phpmyadmin等主流CMS

并且对于绝大多数小众CMS甚至个人开发网站后台都有效果

在工具中导入后台地址即可进行自动化检测。

实现思路

大家想一下自己平常是怎么用burpsuite的intruder模块来爆破指定目标后台的

抓包 -> send to intruder -> 标注出要爆破的参数 -> 发送payload爆破 -> 查看返回结果

找出返回包长度大小不同的那一个,基本上就是所需要的答案。

那么WebCrack就是模拟这个过程

但是就要解决两个问题

  • 如何自动识别出要爆破的参数

  • 如何自动判断是否登录成功

识别爆破参数

对于这个问题采用了web_pwd_common_crack的解决办法

就是根据提取表单中 user pass 等关键字,来判断用户名跟密码参数的位置

        if parameter:
            if not user_key:
                for z in [ 'user', 'name','zhanghao', 'yonghu', 'email', 'account']:
                    if z in parameter.lower():
                        value = '{user_name}'
                        user_key = parameter
                        ok_flag = 1
                        break
            if not ok_flag:
                for y in ['pass', 'pw', 'mima']:
                    if y in parameter.lower():
                        value = '{pass_word}'
                        pass_key = parameter
                        ok_flag = 1
                        break

但是在测试中还发现,有些前端程序员用拼音甚至拼音缩写来给变量命名

什么yonghu , zhanghao , yhm(用户名), mima 等

虽然看起来很捉急,但是也只能把它们全部加进关键字判断名单里。

如何判断登录成功

这个可以说是最头疼的问题

如果对于一种管理系统还好说,只要找到规律,判断是否存在登录成功的特征就可以

但是作为通用爆破脚本来说,世界上的网站各种各样,不可能去一个个找特征,也不可能一个个去正则匹配。

经过借鉴web_pwd_common_crack的思路,与大量测试

总结出来了以下一套比较有效的判断方式。

判断是否动态返回值并获取Error Length
20017676-866799fcc8ec8ce0.png
image

先发送两次肯定错误的密码如length_test

获取两次返回值并比较

如果两次的值不同,则说明此管理系统面对相同的数据包返回却返回不同的长度,此时脚本无法判断,退出爆破。

如果相同,则记录下此值,作为判断的基准。

然而实际中会先请求一次,因为发现有些管理系统在第一次登录时会在响应头部增加标记。如果去掉此项可能会导致判断失误。

判断用户名跟密码的键名是否存在在跳转后的页面中

这个不用过多解释,如果存在的话说明没登录成功又退回到登录页面了。

有人会问为什么不直接判断两个页面是否相等呢

因为测试中发现有些CMS会给你在登录页面弹个登录失败的框,所以直接判断是否相等并不准确。

还有一种计算页面哈希的办法,然后判断两者的相似程度。

但是觉得并没有那个必要,因为有不同的系统难以用统一的阈值来判断,故舍弃。

关键字黑名单检测

黑名单关键字列表

['密码错误', '重试', '不正确', '密码有误','不成功', '重新输入', 'history.back', '不存在', '登录失败',
'登陆失败','出错','已被锁定','history.go','安全拦截','还可以尝试','无效','攻击行为','创宇盾', '非法',
'百度加速','安全威胁','防火墙','黑客', '不合法','warning.asp?msg=','Denied']  

本来还设置了白名单检测机制

就是如果有“登录成功”的字样出现肯定就是爆破成功

但是后来发现并没有黑名单来的必要。

因为首先不可能把所有CMS的登录成功的正则样本都放进去

其次在测试的过程中,发现在其他检测机制的加持后,白名单的判断变得尤其鸡肋,故舍弃。

黑名单就相比而言好的多

如果弹出来"密码错误",就不用再往下判断了

然而实际测试中发现有些用js来判断登录的情况的时候,会同时出现“登录成功“,跟“登录失败”的字眼

此时就只能通过其他方式判断了。

Recheck环节

为了提高准确度,防止误报。

借鉴了web_pwd_common_crack的思路增加recheck环节。

就是再次把crack出的账号密码给发包一次,并且与重新发送的error_length作比对

如果不同则为正确密码。

在这里没有沿用上一个error_length,是因为在实际测试中发现由于waf或者其他因素会导致返回包长度值变化。

框架拓展

用上面几种办法组合起来已经可以做到基本的判断算法了

但是为了使WebCrack更加强大,我又添加了以下三个模块

动态字典

实现代码

def gen_dynam_dic(url):
    dynam_pass_dic = []
    tmp_dic = []
    suffix_dic = ['', '123', '888', '666', '123456']
    list1 = url.split('/')
    host = list1[2].split(":")[0]
    compile_ip = re.compile('^(1\d{2}|2[0-4]\d|25[0-5]|[1-9]\d|[1-9])\.(1\d{2}|2[0-4]\d|25[0-5]|[1-9]\d|\d)\.(1\d{2}|2[0-4]\d|25[0-5]|[1-9]\d|\d)\.(1\d{2}|2[0-4]\d|25[0-5]|[1-9]\d|\d)$')
    if compile_ip.match(host):
        check_ip = 1
    else:
        check_ip = 0
    if not check_ip:
        list2 = host.split(".")
        i = len(list2)
        for u in range(i):
            list3 = list2[u:]
            part = '.'.join(list3)
            if (len(part) < 5):
                continue
            dynam_pass_dic.append(part)
        for u in range(i):  
            list3 = list2[u]
            if len(list3) < 5:
                continue
            tmp_dic.append(list3)
        for i in tmp_dic:
            for suffix in suffix_dic:
                u = i + suffix
                dynam_pass_dic.append(u)
        return dynam_pass_dic
    else:
        return ''

假如域名是

webcrack.yzddmr6.com

那么就会生成以下动态字典列表

webcrack.yzddmr6.com
yzddmr6.com
webcrack
webcrack123
webcrack888
webcrack666
webcrack123456
yzddmr6
yzddmr6123
yzddmr6888
yzddmr6666
yzddmr6123456

假如正则匹配到传来的是一个IP而不是域名的话就会返回一个空列表。

万能密码检测

后台的漏洞除了弱口令还有一大部分是出在万能密码上

在WebCrack中也添加了一些常用的payload

admin' or 'a'='a
'or'='or'
admin' or '1'='1' or 1=1
')or('a'='a
'or 1=1--

但是同时带来个问题会被各大WAF拦截

这时候就可以把WAF拦截的关键字写到检测黑名单里,从而大大减少误报。

小插曲

用webcrack检测目标资产进入到了recheck环节

20017676-63a1e3e8228f879a.png
image

但是webcrack却提示爆破失败。

手工测试了一下检测出的万能密码

20017676-e65ffd111393d72e.png
image

发现出现了sql错误信息

意识到可能存在后台post注入

20017676-45fcf197af80ca28.png
image

发现了sa注入点

这也反应了对于后台sql注入,webcrack的正则匹配还做的不够完善,下一个版本改一下。

自定义爆破规则

有了上面这些机制已经可以爆破大部分网站后台了

然而还是有一些特(sha)殊(diao)网站,并不符合上面的一套检测算法

于是webcrack就可以让大家自定义爆破规则。

自定义规则的配置文件放在同目录cms.json文件里

参数说明

[
    {
        "name":"这里是cms名称",
        "keywords":"这里是cms后台页面的关键字,是识别cms的关键",
        "captcha":"1为后台有验证码,0为没有。因为此版本并没有处理验证码,所以为1则退出爆破",
        "exp_able":"是否启用万能密码模块爆破",
        "success_flag":"登录成功后的页面的关键字",
        "fail_flag":"请谨慎填写此项。如果填写此项,遇到里面的关键字就会退出爆破,用于dz等对爆破次数有限制的cms",
        "alert":"若为1则会打印下面note的内容",
        "note":"请保证本文件是UTF-8格式,并且请勿删除此说明"
    }
]

举个例子

    {
        "name":"discuz",
        "keywords":"admin_questionid",
        "captcha":0,
        "exp_able":0,
        "success_flag":"admin.php?action=logout",
        "fail_flag":"密码错误次数过多",
        "alert":0,
        "note":"discuz论坛测试"
    }

其实对于dz,dedecms,phpmyadmin等框架本身的逻辑已经可以处理

添加配置文件只是因为程序默认会开启万能密码爆破模块

然而万能密码检测会引起大多数WAF封你的IP

对于dz,dedecms这种不存在万能密码的管理系统如果开启的话不仅会影响效率,并且会被封IP

所以配置文件里提供了各种自定义参数,方便用户自己设置。

关于验证码

验证码识别算是个大难题吧

自己也写过一个带有验证码的demo,但是效果并不理想

简单的验证码虽然能够识别一些,但是遇到复杂的验证码就效率极低,拖慢爆破速度

并且你识别出来也不一定就有弱口令。。。

所以就去掉了这个功能

如果有大佬对这方面有好的想法,欢迎在github上留言或者邮箱 yzddmr6@gmail 联系我。

总流程图

一套流程下来大概是长这个亚子

20017676-4adbf5101f47fdbb.png
image

对比测试

找了一批样本测试,跟tidesec的版本比较了一下

  • web_pwd_common_crack 跑出来11个

其中7个可以登录。4个是逻辑上的误报,跟waf拦截后的误报。

  • webcrack 跑出来19个

其中16个可以登录。2个是ecshop的误报,1个是小众cms逻辑的误报。

  • webcrack比web_pwd_common_crack多探测出来的9个中

有5个是万能密码漏洞,2个是发现的web_pwd_common_crack的漏报,2个是动态字典探测出来的弱口令。

最后

这个项目断断续续写了半年吧

主要是世界上奇奇怪怪的网站太多了,后台登录的样式五花八门。

有些是登录后给你重定向302到后台

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

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

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

更神奇的是ecshop(不知道是不是所有版本都是这样)

假如说密码是yzddmr6

但是你输入admin888 与其他错误密码后的返回页面居然不一样。。。

因为加入了万能密码模块后经常有WAF拦截,需要测试各个WAF对各个系统的拦截特征以及关键字。

总的半年下来抓包抓了上万个都有了。。。。。。

因为通用型爆破,可能无法做到百分百准确,可以自己修改配置文件来让webcrack更符合你的需求。

项目地址

https://github.com/yzddmr6/WebCrack

yzddMr6
关注 关注
  • 5
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
暴力破解工具webcrack-master.zip
06-28
是python代码,需要有python开发能力
利用随机异或无限免杀d盾 2.0 ——yzddMr6
yzddMr6的博客
11-06 193
随机异或脚本 2.0更新内容 1. 更新免杀 2. 解决了PHP5.4以下没有hex2bin函数的BUG 3. 在变量池中去除导致脚本不能使用的转义符\ 4. 精简体积 370字节->270字节 5. Header改为404,更为隐蔽 其实上一篇文章写之前就已经有了心理准备 上次发的脚本自己用了几个月没事 发出来不到一个星期就不免杀了 image ...
绕过宝塔云锁注入钓鱼站 ——yzddMr6
yzddMr6的博客
12-07 2714
前言 某天收到一封邮件 image 一看就是钓鱼邮件,并且我也不玩LOL。 看了看感觉这个系统好像见过很多次,研究了一下,顺手日了下来 过程比较有意思,遇到了不少坑,写篇文章记录一下。 正文 信息搜集 打开网站首先我们可以看到他的炫酷界面 image 进一步搜集信息发现有宝塔+云锁,找不到后台,旁站全是这种钓鱼站,均使用了冒充官网的子域名前缀 im...
Golin 弱口令/漏洞/扫描/等保/基线核查的快速安全检查小工具
xianjie0318的博客
02-23 1386
【代码】Golin 弱口令/漏洞/扫描/等保/基线核查的快速安全检查小工具。
一款优秀的web后台弱口令/万能密码批量检测工具
siu~
06-29 1564
WebCrack是一款web后台弱口令/万能密码批量检测工具,在工具中导入后台地址即可进行自动化检测。
Web安全:安全扫描工具
2301_76161259的博客
04-08 843
安全扫描工具可以分为系统扫描工具与应用扫描工具。安全扫描工具可以很好地发现网络空间中主机或者应用的安全漏洞。因此,借助于安全扫描工具,我们可以更好地对网络空间中的主机或者应用的安全漏洞进行漏洞处置,从而使网络空间中的资产更加安全。系统扫描工具主要是针对网络中系统软件的脆弱性进行信息安全评估,及时发现安全漏洞并给出安全漏洞的安全建议。以前的系统扫描工具有流光及Hscan等,现在的系统扫描工具有Nessus等。Nessus是目前全球使用最多的针对主机的安全漏洞扫描工具之一。
渗透测试常用WEB安全漏洞扫描工具集合
2201_75362610的博客
04-08 5303
渗透测试阶段信息收集完成后,需根据所收集的信息,扫描目标站点可能存在的漏洞,包括SQL注入漏洞、跨站脚本漏洞、文件上传漏洞、文件包含漏洞及命令执行漏洞等,然后通过这些已知的漏洞,寻找目标站点存在攻击的入口。那么今天我们就介绍几款常用的WEB应用漏洞扫描工具。Acunetix Web Vulnerability Scanner(简称AWVS)是一款知名的网络漏洞扫描工具,它通过网络爬虫测试你的网站安全,检测流行安全漏洞。在漏洞扫描实战过程中,一般会首选AWVS,因为这个能扫描出来的漏洞很多,而且使用比较简单。
入侵检测——WebCrack
LainWith的博客
07-02 2578
WebCrack是一款web后台弱口令/万能密码批量检测工具,在工具中导入后台地址即可进行自动化检测。项目地址:https://github.com/yzddmr6/WebCrack就拿dvwa的登录页面来测试一下 明明都爆破出dvwa的默认密码了,最后结果却显示失败,只能说作者对于爆破成功的判断标准很有待提升。关于弱口令的检测问题,并不是WebCrack的作者能力不足,而是这个东西确实不好做, Tide安全团队曾经也做过相关工具,评价是:相关文章参见:Web弱口令通用检测方法探究 但是吧,这个问题也不
WebCrack:WebCrack是一款web后台弱口令万能密码批量检测工具,在工具中导入后台地址即可进行自动化检测
05-05
WebCrack v(2.1)工具简介WebCrack是一款web后台弱口令/万能密码批量检测工具,在工具中导入后台地址即可进行自动化检测。开发文档更新日志2021/03/15 v(2.1)修复目标为IP时字典生成失败的BUG2021/02/22 v(2.0)代码...
后台弱口令检测工具
04-16
后台弱口令检测工具
web 批量爆破 WebCrack是一款开源免费的web后台弱口令/万能密码批量爆破、检测工具
09-01
web 批量爆破 WebCrack是一款开源免费的web后台弱口令/万能密码批量爆破、检测工具
Codex验证码后台爆破V2.1
06-02
验证码图片url写入可识别,可结合爆破
WebCrack是一款web后台弱口令万能密码批量检测工具,在工具中导入后台地址即可进行自动化检测。.txt
最新发布
04-22
扎根科技 191文章 22万总阅读 查看TA的文章> 评论 分享 微信分享 ...移动安全是指保护移动设备和移动应用程序免受安全威胁和攻击的一系列措施和技术。随着移动设备的普及和移动应用的快速发展,移动安全变得...
web弱口令探测开发套件
11-03
在做安全测试的时候,随着资产的增多,经常会遇到需要快速检测大量网站后台弱...然而市面上并没有一个比较好的解决方案,能够支持对各种网站后台的通用检测,WebCrack是一款web后台弱口令/万能密码批量爆破、检测工具
【安全工具】Web漏洞扫描十大工具
qq_44005305的博客
10-09 2464
漏洞扫描技术是建立在端口扫描技术的基础之上的,从对黑客的攻击行为的分析和收集的漏洞来看,绝大多数都是针对某一个特定的端口的,所以漏洞扫描技术以与端口扫描技术同样的思路来开展扫描的。漏洞扫描技术的原理是主要通过以下两种方法来检查目标主机是否存在漏洞,在端口扫描后得知目标主机开启的端口以及端口上的网络服务,将这些相关信息与网络漏洞扫描系统提供的漏洞库进行匹配,查看是否有满足匹配条件的漏洞存在,通过模拟黑客的攻击手法,对目标主机系统进行攻击性的安全漏洞扫描,若模拟攻击成功,则表明目标主机系统存在安全漏洞,
Web网站弱口令检测工具
墨痕诉清风的博客
08-09 531
在做安全测试的时候,随着资产的增多,经常会遇到需要快速检测大量网站后台弱口令的问题。然而市面上并没有一个比较好的解决方案,能够支持对各种网站后台的通用检测。这是一款web后台弱口令/万能密码批量爆破、检测工具。不仅支持如discuz,织梦,phpmyadmin等主流CMS并且对于绝大多数小众CMS甚至个人开发网站后台都有效果在工具中导入后台地址即可进行自动化检测。这个项目断断续续写了半年吧主要是世界上奇奇怪怪的网站太多了,后台登录的样式五花八门。有些是登录后给你重定向302到后台
弱口令扫描工具有哪些?检测的主要方法及常用弱口令密码
白帽黑客鹏哥的博客
12-11 3197
弱口令工具主要用于密码破解、安全评估和网络防御测试。这些工具通过尝试一系列常用的弱口令来检测系统或账户的安全性。
常用开源的弱口令检查审计工具
Marsal的博客
08-08 5601
常用的密码爆破工具
WEB弱口令漏洞的危害
06-09
WEB弱口令漏洞的危害是非常严重的,因为攻击者可以通过暴力破解或字典攻击等方式轻松地获取用户的密码,从而获得对用户账户的访问权限。以下是WEB弱口令漏洞可能带来的危害: 1. 数据泄露:攻击者可以通过获取用户密码,进而访问用户的个人信息、银行账户、信用卡信息、工作文件等,导致用户的个人隐私泄露。 2. 系统崩溃:攻击者通过WEB弱口令漏洞可以访问系统内部的敏感信息,甚至可以篡改系统内部数据,导致系统崩溃,影响正常的业务运行。 3. 网站声誉受损:WEB弱口令漏洞的出现将会影响网站的声誉,使得用户失去对网站的信任,从而在一定程度上影响网站的经营和发展。 因此,为了保障用户的信息安全和网站的安全,网站管理员应该加强对WEB弱口令漏洞的防范和治理。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
写文章

热门文章

  • 手机运行Docker: 从修改内核到刷入原生Linux 3680
  • 无限免杀D盾脚本之aspx ——yzddMr6 3438
  • 泛微OA管理系统RCE漏洞利用脚本 ——yzddMr6 2946
  • WebCrack:网站后台弱口令批量检测工具 ——yzddMr6 2851
  • L3HCTF bypass出题人视角 2818

分类专栏

  • 技术文章 5篇
  • 随便写写

最新评论

  • 手机运行Docker: 从修改内核到刷入原生Linux

    断桥开车: 可以把m6的具体移植过程发表一下吗???

  • 手机运行Docker: 从修改内核到刷入原生Linux

    xinyilei2010: 请问WIFI可以用吗?

  • 手机运行Docker: 从修改内核到刷入原生Linux

    2301_79161064: 谢谢🙏 期待下次更新

  • WebCrack:网站后台弱口令批量检测工具 ——yzddMr6

    Nathan Summer: 无法获取表单怎么办啊

  • WebCrack:网站后台弱口令批量检测工具 ——yzddMr6

    L715824: 工具是可以,但是为什么纯ip加端口的那种跑不了

您愿意向朋友推荐“博客详情页”吗?

  • 强烈不推荐
  • 不推荐
  • 一般般
  • 推荐
  • 强烈推荐
提交

最新文章

  • 手机运行Docker: 从修改内核到刷入原生Linux
  • As-Exploits v1.4更新
  • L3HCTF bypass出题人视角
2022年4篇
2021年2篇
2019年20篇

目录

目录

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值

聚圣源翰与瀚起名哪个好女宝起名字好寓意字环保服务公司起名字骂人语音农村合作社起什么名字好起名算命网观音菩萨图片员工关怀百度云怎么看片起重机制造商排名kink.com沫字起名ixwebhosting华娱之黄金年代给百货商店取名起名大全第一人称小说英语商标如何起名庚子年出生孩子起名合众保险起名网起名真准吗电视剧绝战老黄历生辰八字起名称幼儿园小班起什么班名好老三板行情女孩起名字随州论坛ht06世界杯歌曲收购营业执照起名规则淀粉肠小王子日销售额涨超10倍罗斯否认插足凯特王妃婚姻让美丽中国“从细节出发”清明节放假3天调休1天男孩疑遭霸凌 家长讨说法被踢出群国产伟哥去年销售近13亿网友建议重庆地铁不准乘客携带菜筐雅江山火三名扑火人员牺牲系谣言代拍被何赛飞拿着魔杖追着打月嫂回应掌掴婴儿是在赶虫子山西高速一大巴发生事故 已致13死高中生被打伤下体休学 邯郸通报李梦为奥运任务婉拒WNBA邀请19岁小伙救下5人后溺亡 多方发声王树国3次鞠躬告别西交大师生单亲妈妈陷入热恋 14岁儿子报警315晚会后胖东来又人满为患了倪萍分享减重40斤方法王楚钦登顶三项第一今日春分两大学生合买彩票中奖一人不认账张家界的山上“长”满了韩国人?周杰伦一审败诉网易房客欠租失踪 房东直发愁男子持台球杆殴打2名女店员被抓男子被猫抓伤后确诊“猫抓病”“重生之我在北大当嫡校长”槽头肉企业被曝光前生意红火男孩8年未见母亲被告知被遗忘恒大被罚41.75亿到底怎么缴网友洛杉矶偶遇贾玲杨倩无缘巴黎奥运张立群任西安交通大学校长黑马情侣提车了西双版纳热带植物园回应蜉蝣大爆发妈妈回应孩子在校撞护栏坠楼考生莫言也上北大硕士复试名单了韩国首次吊销离岗医生执照奥巴马现身唐宁街 黑色着装引猜测沈阳一轿车冲入人行道致3死2伤阿根廷将发行1万与2万面值的纸币外国人感慨凌晨的中国很安全男子被流浪猫绊倒 投喂者赔24万手机成瘾是影响睡眠质量重要因素春分“立蛋”成功率更高?胖东来员工每周单休无小长假“开封王婆”爆火:促成四五十对专家建议不必谈骨泥色变浙江一高校内汽车冲撞行人 多人受伤许家印被限制高消费

聚圣源 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化