4

JS逆向-58同城密码加密分析

 1 year ago
source link: http://xianyucoder.cn/2019/09/16/%E6%AF%8F%E6%97%A5JS-58%E5%90%8C%E5%9F%8E%E5%AF%86%E7%A0%81%E5%8A%A0%E5%AF%86%E4%B8%8E%E6%8C%87%E7%BA%B9%E5%88%86%E6%9E%90-RSA/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

JS逆向-58同城密码加密分析

2019-09-16

|

2019-09-30

| js逆向

| 0

| 915次阅读

3k

|

5 分钟

目标网站:

aHR0cHM6Ly9wYXNzcG9ydC41OC5jb20vbG9naW4vP3BhdGg
9aHR0cHMlM0EvL2Z6LjU4LmNvbS8mUEdUSUQ9MGQxMDAwMDAtMDAx
My0wMjk0LTFjZWItYjU3NTBiZDIwNmU5JkNsaWNrSUQ9Mg==

抓包分析与加密定位

老规矩先抓包看看【图1-1】

图1-1

今天主要分析的是划线的三个参数,先一个一个来研究一下。

先看看密码的加密,按照之前的思路我们测试了password的相关搜索项,但是搜索出来的结果都不尽如人意。【图1-2】

同时这个请求也不是XHR请求,所以xhr断点也用不上了。

图1-2

搜索的结果中比较有相关性的是【图1-2】标注的部分,但是在文件的搜索项里搜索password是找不到加密位置的。

我简单总结了几种办法,虽然并不一定适用于其他网站的加密,算是提供一种新的思路。

第一、搜索相关的的提示语,就像在之前的我做的第一个 APP 逆向的项目中,我就是搜索相关的提示语找到了扣费逻辑的代码,这里也可以按照这样的思路。

在这个网站的加密里点击登陆,点击后按钮变为登录中...,搜索相关提示语再逐步打断点一直追下去是可以找到加密位置的,不过这是个下下策,耗时太长,很容易追丢了,为了这个不值当。(不推荐使用)

第二、参考开头的搜索关键字的方法,这里搜索的是encrypt,经常遇到加密的变量或方法是encrypt(XX)这样的形式。

第三、试试从网页中找找答案,之前做过一些简单的例子是将 js 的代码直接写到页面中自执行或者采用隐藏域传递值的方式,比如:像PublicKey这类比较有特色的值,如果能找到对我们的帮助是很大的。

按照上面总结的几种方法,我们再次搜索【图1-3】

图1-3

又搜索到这个熟悉的文件,这次我们进去搜索一次,这次找到了好多类似加密的地方,为了省事我把所有相关的值都打上了断点,再次登录。【图1-4】

图1-4

到这里就定位到加密的地方了。

继续追进去可以看到进入的是一个VM【图1-5】

图1-5

到这里就没有什么难度了,密码的加密就是 RSA + eval

如果你很幸运先找到了eval加密的地方,但是不知道怎么解决,可以参考之前一篇关于js混淆的文章。

—-> 点我看文章

或者直接打开浏览器的开发者工具切换到console选项卡,把相关的eval代码粘贴进去,将代码开头的eval替换为console.log,就可以得到原来的代码了。【图1-6】

图1-6

接下来看的是两个指纹相关的参数,这里就比较简单了,直接搜索fingerprint就可以找到相关加密文件,直接在里面打断点就可以了。【图1-7】

blog20190925194830.png

这里的注意点是想要重新生成指纹,记得要刷新页面才可以。

关于指纹的加密生成讲的比较简单,需要学习案例的朋友可以访问下面的网址。

https://lengyue.me/

也可以看看冷月打来之前的关于某个网站指纹加密的视频教程。

链接 : https://pan.baidu.com/s/1Y8pcacZbHF1DXW0znzmZKQ 密码:vkmf

失效请留言。

blogWechatIMG1956.jpeg
煌金 wechat
扫描关注公众号,回复「1024」获取为你准备的特别推送~

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK