声明:

本文仅供研究学习使用,请勿用于非法用途!

目标网站

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编程与实战

最新文章

  1. V8Sharp的中文乱码问题解决
  2. QTableWidget详解(样式、右键菜单、表头塌陷、多选等) 2013-10-23 10:54:04
  3. Revenge of Nim hdu 4994 (博弈)
  4. Cocos2d 学习资料推荐
  5. Python-Day9 Paramiko模块/进程/线程/RabbitMQ队列
  6. 编写一个循环将list容器的元素逆序输出
  7. visual studio 2012进行C语言开发[图文]
  8. Mvc Model 模板的获取【学习笔记】
  9. Oracle执行计划——Oracle 如何启用执行计划
  10. python int异常 python isdigit
  11. Cocos2dx 学习笔记整理----在项目中使用图片(一)
  12. iPhone Info.plist属性说明
  13. xml序列化和反序列化(一)
  14. python使用itchat发送微信消息提醒
  15. Python开发——8.模块
  16. VS2013和NuGet
  17. Problem A: 平面上的点和线——Point类、Line类 (I)
  18. 数字对讲系统开发札记(前端linux c 后端 c#)
  19. 干货分享:vue2.0做移动端开发用到的相关插件和经验总结(2)
  20. react.js map遍历的问题

热门文章

  1. bzoj2882工艺(最小表示法)
  2. springboot支付项目之springboot集成jpa
  3. mean|mode|median|sample的表达方式
  4. Hypothesis Tests for One Population Mean When σ Is Unknown|other
  5. 实例理解scala 隐式转换(隐式值,隐式方法,隐式类)
  6. centos 中文乱码解决办法
  7. 3dmax2017卸载/安装失败/如何彻底卸载清除干净3dmax2017注册表和文件的方法
  8. interrupt 停止线程
  9. Kubernetes详解
  10. 4.2英寸的iPhone SE2就要来了!但你还会买单吗?