目标网站:
1、抓包。 https://m.wcbchina.com/
我们通过Search (搜索)找到sign所在的地方,然后观察Sign是在哪加密。从而一步一步分析他的加密方法。
因为我们分析查看每个变量的值,发现,只有h不为空,所以我们需要将思路转到h上,并随意点进h的函数分析。
明确: 我们想要hex_md5这方法。
导出方法:
var _hex_md5;
!(function()
{
var hex_md5 = function(){
conslog.log("111");
}
_hex_md5 = hex_md5;
})()
var _hex_md5;
!(function(){
var j = {
hex_md5:function(){
console.log("111");
}
}
_hex_md5 = j;
})()
知道了这个导出,所以我们就可以开始扒代码了。
怎么扒呢?
我们发现module.exports = j;
这个module.exports就是他要把j导出的。所以我们要换成自己的变量。
扒下来修改的代码:
网页的:
对比一下,不难发现我有修改了两处地方,声明了一个md5的变量,我们上面说要替换module.exports用来导出j,所以这是第一步。
但是做完这一步,还有一个问题,那就是网页源代码会调用define这个函数,但这个define在我们这是不需要的,所以我们删掉这个函数,并且把function改成自执行。
然后再把这修改的代码放到浏览器或者v8的js运行一下,再调用md5.hex_md5("")
里面填你的数据,这样就可以把数据的明文转换成密文了。。。