在App的逆向破解或者渗透测试过程中,经常会遇到网络请求协议被加密的情况,这个时候如果不对请求协议封包进行解密,找到其加密解密方法,就无法再进行下一步的操作。之前还好,大多数APP的加密解密方式为国际通用的算法,如AES/DES/RSA/PEB/MD5/SHA等,那时或许还可以使用通用的hook方法进行检测。
不过,现在很多银行、有安全意识的APP开发者都不用系统Framework提供的库了,要么将通用算法自定义写,要么自定义算法。所以现在也有很多的trace方式,先java/jni trace,然后再大海捞针。
好了,废话不多说,trace不是我们的重点,说实在我也不喜欢trace的大海捞针,我只喜欢一针见血。
今天就给大家分享一个屡试不爽的定位APP加密解密位置的方法:篡改返回密文报错法。通俗的讲就是通过抓包的方式任意修改服务器返回的密文,使客户端在解密时出错,然后观察系统日志,APP就会自动暴露加密地点。
举个例子。
Android客户端。在T3出行上有一个数据封包是加密的,如下:
为了定位到APP中解密参数content的地方,我使用Fiddler的FreeHttp插件,自动将其篡改为不合法的密文:
开启拦截之后,重启打开APP,并且开始监控Android的系统日志,如下图拦截篡改成功:
报错信息:
对于iOS版本的浦发银行:
此时APP报错,有线索:
对于Web网站也是一样,目前没找到很好的示例。如果你想要某个服务器返回字段的加解密方式,就任意篡改它,让应用程序解密时出错,自然会暴露一些明显的线索定位!
往期推荐:
越狱iOS必备神器Flex使用指南-屏蔽越狱检测的破解利器
爬取 58 同城房产数据,犯非法获取计算机信息系统数据罪:3 人被判
Fiddler抓包精品插件 |借助FreeHttp任意篡改Http报文使用教程
值得收藏 |解决99%的手机APP抓包问题 涵盖安卓/iOS客户端
看我如何通过旁站拿下裸聊诈骗的后台 |渗透技术
使用爱思助手对iPA包签名详细教程 无需企业签名 |末尾附带福利下载
欢迎关注微信公众号:『掌玩小子』讨论更多技术: