查看原文
其他

第44篇:绕过前端加密的账号密码爆破-易语言网页填表模块

abc123info ABC123安全研究实验室 2023-02-12

 Part1 前言 

随着现在网站研发人员的安全意识越来越高,在网站登录的用户名密码处,一般都进行了前端js加密,这个时候如果使用burpsuite暴力破解的话,必须找到js的解密函数对密码字典进行加密,但是有时候前端js代码经过了加密混淆,或者是网站的前端放置了一台动态加密防火墙设备,把网站所有页面全部动态加密(仍可绕过),这种情况下找到js解密函数是非常困难的。大约在10年前自学了易语言,易语言有专门为解决前端JS加密问题的模块,名字叫做“网页填表”,我平时也用这个模块来实现自动化的用户名密码枚举。


 Part2 技术研究过程 

  • 网页表单分析

为了演示,我本地搭建了一个环境,网站的登录入口如下。接下来演示一下,如何用易语言的“网页填表”模块进行自动化用户名密码爆破,而不用关心前端js加密问题。


为了便于新手理解,这里首先使用“精易编程助手”对上述登录网页进行分析,这款软件目前应该只能分析IE内核浏览器。


由上图可知,用户名及密码字段分别是“名称(Name)”的admin_nameadmin_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 @)

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存