js登录其他网站_JS逆向 | 某同城网站模拟登录(RSA)及指纹分析

点击上方“逆向新手”,选择“关注公众号”

跟我一起学Python爬虫逆向!

bba892261b44cdb8224f962a7c65c144.png

声明:本文只作学习研究,禁止用于非法用途,否则后果自负,如有侵权,请告知删除,谢谢!

目标网站:

    aHR0cDovL3Bhc3Nwb3J0LjU4LmNvbS9sb2dpbg==

   输入错误账号密码、抓包得知password、token、fingerprint被加密。

3c793995c2e91c151ff569ca6c81e768.png

图1

    直接搜索token的值,发现其就在之前的请求响应中,参数简单,直接构造即可。

3a17359b915ad6cae8cb237830104936.png

图2

    fingerprint同理,也在之前的请求响应cookie中。这里的finger2其实都是浏览器的环境信息,复制使用即可,或者看最后我的分析。

a73aa6db744027012facef5ae762769d.png

图3

    全局搜索username,这里第三个JS文件比较可疑,进入再搜索username

b88de5491508628fa0e8cf7b6da2ebc5.png

图4

    可以看到这里为参数的构成方法,我们在password前面打上断点,重新点击登录,成功断下。可以看到password为n.encrypt()这个函数加密所得,因此跟进这个函数看下

da9a1039693cecc9aa2a604b87fac5a6.png

图5   在该函数的返回处(return)打上断点,按F8让它继续跑。可以看出传入的e为明文密码,o实际上就是那串固定的数字,而t和n都为undefined。i.rsaExponent和i.rsaModulus经过搜索与测试,均为固定值:

a6ef1f28383a9febe9e4b9710660b519.png

图6  实际上到这里,已经可以知道它使用了RSA的指数与模量进行加密(详细请自行百度了解),因此只要解密出encryptString这个函数即可,继续跟进看看

7a5494e114b1882a707ffbca6d927cc8.png

图7    总共就400多行代码,全部复制到本地,在开头加一句window=global;即可使用

7aaf927d52ac4c0952e615ae53277c0a.png

图8    得出的密文与浏览器相同。这里插一句,这个RSA其实为一个变种,正常的RSA加密,每次返回的密文都不相同的。    最后再看下finger2吧。直接搜索,在这里打上断点,刷新页面,可以看到生成了结果

e39f3b198e1edc2d6f2b0116f4f224e3.png

图9    跟进这个对象看一下,这里的Fingerprint2就是下方的t对象,它的get方法就是获取浏览器的环境信息

38eca4d730ea8d435bf319a29ad715d6.png

图10     随便跟进一个看一下

9433d70170fc0db894392d9e831bf994.png

图11

    具体就不扣了,环境信息全部写死也没关系,感兴趣的自己扣下哈。

     该网站详细代码,已上传本人GitHub,可点击左下角“ 各位加油62efcfd94392a0892691dafb602c870d.png62efcfd94392a0892691dafb602c870d.png     

—  END —

点击这里给我写留言?

后台点击“加入群聊”一起交流

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值