前言
在渗透过程中,有时候会遇到一些站请求包和响应包都是加密的,这样的话完全无法查看数据提交结构以及进行渗透测试。
前端寻找加密方式
加密参数是 parameter 我们只需要将网页另存为,然后全局搜索所有文件,就能快速寻找到这个参数的位置,如上图,他用到了 encrypt_param() 函数进行了加密处理,接下来继续寻找 encrypt_param() 函数代码。
如图,使用了 CryptoJS 进行的加密,加密解密函数都找到了,接下来就好办了。
编写 Python 加解密脚本
1.将 encrypt_param() 函数中调用的 CryptoJS 代码找到,一并复制下来,和加解密函数放一个 JS 文件中。
如图,总共三块,CryptoJS 代码 + 加密代码 + 解密代码
2.使用 python 调用 JS 文件,编写加解密脚本
如图,一个简单的加解密小工具完成了,其实 python 是有 CryptoJS 裤的,这里方便演示,就这样直接调用吧。
接下来渗透就变得简单多了,请求包结构,一目了然,想如何测试都可以改完包然后重新加密去测试了。
自动化测试之套用 sqlmap tamper
懒人一个,要什么手工,太复杂麻烦了,咱们在改改,用 sqlmap 来实现自动化测试。
第一步需要注意的是,sqlmap -r 调用的数据包文本中,parameter 参数后面应该留空,如 parameter=
第二步,编写 sqlmap tamper 脚本
如上图,已经编写好了,期间遇到一些报错,有点不好排查,浪费了些许时间,不过最后结果是完美的,让我们看看效果吧。
结语
- 本文中的目标是授权渗透,写给新手,老鸟飞过。
- 文中使用到了 python 看代码量也能知道其实很简单,即使不会 python 的童鞋,照着稍微修改调试一下就可以用了。
- 在找 JS 加密代码过程中,一定要注意看加密函数中是否调用了一些别的,要保证扒的 JS 代码完整性。
- 可以使用
--proxy=http://127.0.0.1:8080
配合 burp 来查看 sqlmap payload 是否正常无错误。 - 吐槽一下,不知道为什么要搞这些花里胡哨的东西,开发的麻烦,咱们渗透的也麻烦,本是同根生相煎何太急,害~
本文作者为Mr.Wu,转载请注明,尊守博主劳动成果!
由于经常折腾代码,可能会导致个别文章内容显示错位或者别的 BUG 影响阅读; 如发现请在该文章下留言告知于我,thank you !
你好,我们发现您的域名 xss.red,有攻击我们服务器; https://xss.red/UU4G/p.jpg 请配合查证。