某河市服务管理办公室,Js逆向:★
2021-11-10 本文已影响0人
八月欢喜
前言
- 可以关注我哟,一起学习,主页有更多练习例子
- 如果哪个练习我没有写清楚,可以留言我会补充
-
如果有加密的网站可以留言发给我,一起学习共享学习路程
4.如侵权,联系我,删
网址信息
- 网址:aHR0cDovL3p3Zncuc2FuLWhlLmdvdi5jbi9pY2l0eS9pY2l0eS9ndWVzdGJvb2svaW50ZXJhY3Q=
- 加密端口:aHR0cDovL3p3Zncuc2FuLWhlLmdvdi5jbi9pY2l0eS9hcGktdjIvYXBwLmljaXR5Lmd1ZXN0Ym9vay5Xcml0ZUNtZC9nZXRMaXN0P3M9YzI4Nzg2MTYzNjUxNDUxODExOSZ0PTE5MzNfYzUxODY2XzE2MzY1MTQ1MzAwMDA=
- 逆向参数:
s: c287861636514518119
t: 1933_c51866_1636514530000
逆向过程
-
打开F12发现有无限debugger,一步过
image.png
输入false,跳过debugger
-
寻找加密位置
image.png
从栈里倒退随便打断点
image.png
从我们打断点的地方发现上方已经生成了s,那么往上一直找,一直到没有显示参数值的地方
image.png
哟,这不是赋值的地方吗?
image.png
我们看一下怎么生成
image.png不就这个方法吗?拿来吧你
var sig = "";
var chars = "0123456789abcdef";
var curTime = parseInt(Math.random() * (9999 - 1000 + 1) + 1000) + "" + Date.parse(new Date());
sig = chars.charAt(parseInt(Math.random() * (15 - 15 + 1) + 10)) + chars.charAt(curTime.length) + "" + curTime;
var key = "";
var keyIndex = -1;
for (var i = 0; i < 6; i++) {
var c = sig.charAt(keyIndex + 1);
key += c;
keyIndex = chars.indexOf(c);
if (keyIndex < 0 || keyIndex >= sig.length) {
keyIndex = i;
}
}
var timestamp = parseInt(Math.random() * (9999 - 1000 + 1) + 1000) + "_" + key + "_" + Date.parse(new Date());
var t = timestamp;//LEx.azdg.encrypt(timestamp,key);
t = t.replace(/\+/g, "_");
console.log(sig)
console.log(t)
结论:
image.png
不难,新手练习玩