第44篇:绕过前端加密的账号密码爆破-易语言网页填表模块
Part1 前言
随着现在网站研发人员的安全意识越来越高,在网站登录的用户名密码处,一般都进行了前端js加密,这个时候如果使用burpsuite暴力破解的话,必须找到js的解密函数对密码字典进行加密,但是有时候前端js代码经过了加密混淆,或者是网站的前端放置了一台动态加密防火墙设备,把网站所有页面全部动态加密(仍可绕过),这种情况下找到js解密函数是非常困难的。大约在10年前自学了易语言,易语言有专门为解决前端JS加密问题的模块,名字叫做“网页填表”,我平时也用这个模块来实现自动化的用户名密码枚举。
Part2 技术研究过程
网页表单分析
为了演示,我本地搭建了一个环境,网站的登录入口如下。接下来演示一下,如何用易语言的“网页填表”模块进行自动化用户名密码爆破,而不用关心前端js加密问题。
为了便于新手理解,这里首先使用“精易编程助手”对上述登录网页进行分析,这款软件目前应该只能分析IE内核浏览器。
由上图可知,用户名及密码字段分别是“名称(Name)”的admin_name及admin_pass字段,当然我们也可以使用浏览器的F12快捷方式,手工查看字段。
如下所示,用户名处的标签name值是admin_name。
F12查看“登录系统”按钮,可以得到input标签的各种属性及属性值。
易语言的网页填表
接下来使用易语言的“网页填表”模块编写自动输入用户名密码的代码。首先使用易语言IDE拖拽一个“超文本浏览框”图形控件,很快编写完成一个IE内核的浏览器。
接下来使用易语言的“网页填表”模块,对当前浏览器的admin_name文本框及admin_pass文本框填入用户名密码值admin111:123123123,然后对“Submit按钮”进行点击登录。为了防止界面卡死,使用“线程_初始化COM库()”、“线程_取消COM库()”将具体代码放在一个线程当中执行。
最终点击“登录1”按钮,提示“用户名或密码不正确”,说明我们的自动填表成功了。
点击“按钮2”,这个按钮事件实现了输入正确的用户名密码,可以成功跳转到登录后的页面。
接下来要做的事情就简单了,用一个类似于for循环的指令,把上述过程自动化循环起来就可以了,然后还可以根据需要,对各种功能进行细化,以便适用于各种web环境。以下就是我曾经写的一个自动登录工具,图形界面及布局仅供大家参考。
Part3 总结
1. 如果部分网站在IE内核下显示错误,可以从各大论坛搜索易语言其它内核的浏览器组件替换一下。
2. 很多易语言高手编写了自己的“网页填表”模块,以应对一些比较特殊的网站,大家平时可以多收集以备不时之需。
3. 我这里用的是一个VIP破解版的模块,大家可以从百度上自行搜索下载,易语言很多的模块一定要从官方下载,因为这些模块也是可以捆绑后门的。
专注于网络安全技术分享,包括红队攻防、蓝队分析、渗透测试、代码审计等。每周一篇,99%原创,敬请关注
Contact me: 0day123abc#gmail.com(replace # with @)