JS逆向某网站登录密码分析
2024-09-02 22:27:57
声明:
本文仅供研究学习使用,请勿用于非法用途!
目标网站
aHR0cHM6Ly9hdXRoLmFsaXBheS5jb20vbG9naW4vaW5kZXguaHRt
今日目标网站是某知名支付网站,感觉自己有点飘了~~
这里只解密密码的加密方式
请求分析
先看请求,输入账号,密码后点击登录,记得提前浏览器打开 F12
这里注意输入错误的密码,方便我们查看请求数据包
在浏览器的开发者工具界面,快捷键 Crtl+Shift+F 直接打开全局搜索,
定位加密
根据上面的搜索关键词 password= ,我在 index.js 文件种定位到了加密位置 getPassword,熟悉的 RSA 加密
打上断点后,重新发请求,果不其然,在断点处停下来了!
解密
之前有讲过一篇有关 RSA 加密的专题,这里可以直接将 RSA 相关的代码拷贝下来。我们主要来改写这个 getPassword 加密函数, 原函数如下,其中 n = e.alipayEncrypt(2, i, t) 是最后要返回的结果!
function getPassword(t) {
var e = new s.RSA;
i = s.Base64.decode(this.options.TS)
e.setPublicKey(this.options.PK);
return e.alipayEncrypt(2, i, t);
我们很容易能获取到 i 和 公钥的值,这两个值都是写死的
i 是将里面的参数经过 base64 解码后的结果,在node 中也有直接的库来搞定,就像你在 Python 中调用一样,并不需要再去扣代码!
然后再补上 s.RSA 相关代码,即解密成功,具体扣代码细节,就不详述了
了解更多内容,烦请关注本人公众号, Python编程与实战
最新文章
- V8Sharp的中文乱码问题解决
- QTableWidget详解(样式、右键菜单、表头塌陷、多选等) 2013-10-23 10:54:04
- Revenge of Nim hdu 4994 (博弈)
- Cocos2d 学习资料推荐
- Python-Day9 Paramiko模块/进程/线程/RabbitMQ队列
- 编写一个循环将list容器的元素逆序输出
- visual studio 2012进行C语言开发[图文]
- Mvc Model 模板的获取【学习笔记】
- Oracle执行计划——Oracle 如何启用执行计划
- python int异常 python isdigit
- Cocos2dx 学习笔记整理----在项目中使用图片(一)
- iPhone Info.plist属性说明
- xml序列化和反序列化(一)
- python使用itchat发送微信消息提醒
- Python开发——8.模块
- VS2013和NuGet
- Problem A: 平面上的点和线——Point类、Line类 (I)
- 数字对讲系统开发札记(前端linux c 后端 c#)
- 干货分享:vue2.0做移动端开发用到的相关插件和经验总结(2)
- react.js map遍历的问题
热门文章
- bzoj2882工艺(最小表示法)
- springboot支付项目之springboot集成jpa
- mean|mode|median|sample的表达方式
- Hypothesis Tests for One Population Mean When σ Is Unknown|other
- 实例理解scala 隐式转换(隐式值,隐式方法,隐式类)
- centos 中文乱码解决办法
- 3dmax2017卸载/安装失败/如何彻底卸载清除干净3dmax2017注册表和文件的方法
- interrupt 停止线程
- Kubernetes详解
- 4.2英寸的iPhone SE2就要来了!但你还会买单吗?