今天在使用QQ的过程中,我无意中发现了一个壁纸小程序,感觉其中的图片很漂亮,于是就突发奇想,想借用其图片API,尝试在自己的网站上使用。于是,我第一时间打开抓包工具,希望能够找到可用的API接口。
黄鸟抓包工具
Httpcanary抓包神器
第一步:
拿到接口一看是get请求,拿到浏览器请求。结果直接失败。
第二步:
然后想到的是肯定有token之类的请求头参数。然后打开数据包,开始找重要的请求头。
不出所料找到了一个特别显眼的请求头。
第三步:
接口调试工具,这时候直接浏览器请求是行不通了。因为要加请求头。这时候用到了接口请求的工具。
加上请求头之后很顺利的能调通接口。
第四步:
你以为到这就完了,no ,no,no,这才刚刚开始。
这仅仅是获取到了第一页的数据,把分页改成第二页试试,不出意外的话就该出意外了,直接签名验证失败。
第五步:
通过接口参数发现,参数是有签名的。很明显使用md5加密。可是加密规则完全不知道呀。没法模拟生成签名。
第六步:
小程序逆向,要想知道加密规则只能看到程序的代码了,然后我想到的就是逆向,因为我不知道qq小程序怎么逆向,想到qq和微信小程序有关联,所以去微信小程序找到了该小程序。
然后就开始了小程序逆向,这个小程序看起来应该是云开发。不确定是否能看到代码。先用第一个工具逆向,解出来的是堆html。还是二进制文件,还运行不起来,有点搞不懂,有懂得告诉我一下。
第七步:
这些东西根本看不出到底怎么加密的。然后有找了一个逆向工具,这次终于能看到js文件了,打算从index也开始找加密方法。发现根本看不懂。。。
于是开始找接口关键字,发现还是没有发现调用的加密方法。最终我直接到的加密字段的关键字。然后发现了可疑的函数,非常的像加密方法,然后我就开始打日志调试。结果发现代码真的经过这里。
第八步:
IDEA编辑器,然后用Java代码实现加密方法,写了一堆屎山代码。一遍一遍调试,终于实现了加密方法。中间也遇到了好多坑,无数次的加密字段比对。一点小细节出错加密出来的结果完全不一样了。
结果还是抓到数据了。
仅测试学习使用,切勿做违法行为。
请登录后发表评论
注册
请登录后查看评论内容