前言
在漏洞挖掘的过程中,我们总会遇到对数据包进行加密的情况,很多人因为这个加密从而放弃继续挖掘,今天记录一下一个加密解码修改的一个例子,虽然最后好像那个地方尖括号被转义了但我仍然觉得记录下来后面看看会很有收获
某SRC页面
这里是某src的一个资料收集页面
这里我们填写资料我们无法对user_id进行一个修改,正常思路我们其实可以在数据包中进行修改,但是这里数据包是通过一个AES和RSA加密的
这是burp中数据包的部分,很明显这里数据进行了一个加密,所以我们第一步需要寻找页面的加密脚本,因为既然数据包内容已经加密,那么加密肯定是前短加密的,所以我们需要找到这个加密的js代码。
然后可以找到两个js脚本里面涉及数据包加密
我们看代码可以看到 这里使用了RSA和AES加密,根据资料的搜索以及代码的推断,因为rsa不能加密长数据,所以一般的传输方式是通过AES加密对数据包中对数据进行一个对称加密,然后再通过RSA对AES的一个密钥进行加密。
从数据包中可以看出两个地方
第一个红框就是rsa加密后的aes密钥,第二个就是通过aes进行数据加密后的数据
所以大致思路已经明白了
我们现在想要进行解密数据我们需要获取AES的密钥,然后对数据进行一个解密,进行修改之后重新加密进行发送
密钥我们可以在session中找到
接下来我们就是活用f12的console来进行加密解密
获取到我们解密后到数据,然后对数据进行修改,再利用js文件中的加密函数进行加密,这里有一个坑就是对cry赋值的时候我之前一直在前后加上了 ' 导致最后发包失败
我们对user_id进行了一个修改
之前花了很长时间在捣鼓rsa加密aes密钥那边,其实后来想想,我们只要进行aes包的解密就可以了,但既然研究了那么整一下也没事
然后使用js文件中的脚本进行加密
评论