如何爆破js加密后的密码?
阅读原文时间:2023年08月09日阅读:1

如何爆破js加密后的密码?

1、首先burp中安装插件:

https://github.com/whwlsfb/BurpCrypto

安装插件完毕后,分析进行js加密的算法。

2、分析加密过程:

找到相关的加密算法的代码,分析代码逻辑。可以从登录界面的网站源代码里搜encrypt或者crypt字段。

根据这段代码,最终passWord字段的值是经由encryptAES函数进行加密的,且secretKey的值=empCode,而empCode的值最初被赋值给userId,也就是用户名,那么假如userId的值为admin,那么empCode就为admin,secretKey的值也为admin,根据if条件语句的逻辑分析,可以得出,如果admin的字符串小于16,那么就进入一个for循环。循环次数为16-length,即这里为16-5=11。目的是为了补齐16位。

当i从1-9时,把i直接加到admin后面,即admin123456789,当i=10时,j=1,当i=11时,j=2,从而把12加到admin123456789后面,得出用户名admin的secretKey的最终值为admin12345678912。这时secretKey的值就有了。

那么最终进行加密的函数为encryptAES,全局搜索这个函数。

可见加密mode为ECB,padding为PKcs7.

3、使用插件进行爆破

选定加密模式

选定key

add processor,随便起一个名字,然后在intruder模块的payload processing中,选invoke burp extension,然后选中你起的那个名字。

4、验证加密是否一致。

在password中,随便输入2个加密字段。比如admin和123456。进行爆破,查看加密后的字段和正常网页的字段是否一致。这里证明是一致的。

burp中的字段:

浏览器正常加密的字段:

5、验证一致之后,那么就开始愉快的爆破把!!!