rsa加密参数练习
练习简介
练习网站 https://www.gm99.com/
password参数
找加密位置
ajax提交,直接进入方法栈找到加密位置
这个还挺好找的
第二步:重新登录进入断点位置
进入encode方法
这个图片可以看出几个问题
第一个是通过call方法调用
第二个setPublicKey 可以分析出是rsa加密
把整个js拉出来分析
折叠一下 纵观整个js
第一 是一个自动执行的函数
第二 有一个数组包着很多函数 当做参数i传进了上面的方法。
总体分析
先看主体执行的函数
中心就是这个call方法传了4个参数
看看call方法的定义 apply、call 区别
对于 apply、call 二者而言,作用完全一样,只是接受参数的方式不太一样。例如,有一个函数定义如下:
var func = function(arg1, arg2) {
};
就可以通过如下方式来调用:
func.call(this, arg1, arg2);
func.apply(this, [arg1, arg2])
其中 this 是你想指定的上下文,他可以是任何一个 JavaScript 对象(JavaScript 中一切皆对象),call 需要把参数按顺序传