今日目标
aHR0cHMlM0EvL3d3dy5teXRva2VuY2FwLmNvbS8=
这个网站来自咸鱼交流 3 群,一个新手朋友的困惑
在群里我是这么回复的
结果和我想象的一样,没有很复杂,只是在定位上难住了新手。
抓包与定位
在参数上,加密的参数是 code 这个参数,所以我们先试试能不能通过搜索大法定位参数加密的位置。
通过全局检索可以看到是很难一下分析出 code 这个加密的位置是在哪里的。结果真的太多了,还有朋友想试试 code 这个参数用 xhr 断点这个方法来定位。
那我们再来试试。可以看到堆栈还是比较多的,自己动手测试了下,因为涉及到好多的异步请求,所以跟着跟着就丢掉了。
这样是不是就没办法了呢?
其实对于这种加密最简单的办法就是跑油猴脚本(前提是没有更改关键的方法名),不过我同样也测试了下,这里只定位到了 websocket 的位置,并没有 code 的加密。
其实这里还有一个简单的思路,工具多了容易被我们忽略掉。
还是回归最初的检索,这里其实只要检索这个请求的其他参数就可以了,一般来说这些参数都是在同一个位置加在请求上的,你可以检索
code:
或者
platform=
或者
timestamp =
这样不就出来了吗,不是太难的网站不要急着上工具。
所以这里我们检索
code:
在第一个文件里检索
code =
就可以了。这不就出来了吗
分析
这里还不能确认是不是 md5 但是打上断点之后一切就很清晰了。
e
是当前的时间戳,不知道接下来的
o
怎么操作的可以贴到控制台里试试。
这步做了截取,连同前面的操作就完成了拼接之后就将这个结果以参数的形式传入了方法
r()
中。
这里
r
完成了什么操作很关键。
所以我们单步看看,一直到这一步前面将传入的字符串转变为字符,之后就进行了哈希,如果你看不懂怎么办?
没关系,记住上面传入
r
的参数字符串,然后网上找加密器逐一开始试就完事了,像这种 32 位的加密结果大概率就是 md5 ,当然你之后看到长度为 16 或者 32 位的密文都可以这么测试一下。还有一些朋友不管三七二十一,直接一把梭直接缺什么补什么也是可以的。
就像下面这位老哥一样动手就完事了。以上就是这次文章的全部内容了,感谢您的关注,下次再会~
Love & Share
[ 完 ]