·重要声明·
本文仅用于技术讨论与学习,利用此文所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,文章作者及本公众号团队不为此承担任何责任。
前言
在渗透过程中,我们要去实现加解密,这是就可以用到autodecode和Galaxy,这两个插件去完成数据包的加解密,但在实际工作中发现autodecode还是不太很方便,不能实现自动化的把数据包加解密,需要手动去替换数据包,操作比较繁琐,这对一些爆破手段,以及HaE匹配敏感信息等操作都有很大的约束条件。后面发现Galaxy插件可以解决这个问题,使用了一段时间后,发现Galaxy对于一些python的模块没有集成好,导致也存在一定的局限性。在精挑细选中,最后选择了mitmproxy,关于mitmproxy的介绍和使用,也有很多师父们提供了不少资源,我就不多介绍了。
01
靶场抓包,数据包分析
下面我分享一个通过只需设置burpsuite上游代理即可完成自动化加解密,我以网上一靶场为例。
通过访问登录功能,获取到如下数据包
02
定位加密函数和参数
通过数据包可以看到,该请求不是对数据进行了加密,还做了验签sign,timestamp防重放,以及关键参数requestId,要想重放请求,就必须将这些参数的值重新生成,这里就不做过多分析了,通过断点调试,找到数据包形成的函数,如下
同时找到,加解密函数及key 和 iv
03
替换Burpsuite响应体
下面我们通过burpsuite替换响应体功能,将t.headers["sign"]=s,替换成“t.headers["sign"]=s,t.headers["key"]=a.a.enc.Utf8.parse("1234567891234567"),t.headers["iv"]=a.a.enc.Utf8.parse("1234567891234567"),t.headers["mingwen"]=n,”
!!!!!!这里需要注意,要将复制的t.headers["sign"] = s,中的空格删除,因为浏览器给我们格式化输出了,我在这里载跟投了,导致一致替换不了响应。
替换响应的目的是为了在请求包中,把key iv 明文数据一并打印出来,替换成功后,在JS文件中如下图
当我们替换响应成功后,再次去请求登录时,请求包中就会把我们所需要的key iv 以及明文数据携带上,如下图
04
设置代理和自动化加解密
由于浏览器发送的请求在到达burpsuite的时候,就已经有携带明文数据了,所以我们只需要处理响应的密文就可以了,这也是为什么只需要开一层mitmproxy代理的原因。
Burpsuite设置上游代理
然后通过python写好加解密的逻辑,启动mitmproxy
05
成功解密
接着我们再重新去请求登录,查看数据包,发现已经实现自动化解密了,可以直接发送数据包,正常响应,不用做多余的操作,就跟测试明文数据一样,perfect!!!!
当然使用mitmproxy也有限制,如果内网环境下不能下载安装,还是推荐使用autodecode·,能使用mitmporxy的情况下优先推荐使用mitmproxy,Galaxy如果不缺少代码模块的情况下次优先,autodecode可以当做是最后万不得已使用的手段。
点击蓝字
关注我们
推荐站内搜索:最好用的开发软件、免费开源系统、渗透测试工具云盘下载、最新渗透测试资料、最新黑客工具下载……
还没有评论,来说两句吧...