当前位置:网站首页>Web Reverse Lilac Garden
Web Reverse Lilac Garden
2022-08-10 21:26:00 【Spank code programmers】
文章目录
1.比较常规的web逆向流程,找关键词sign,Find more traces,换noncestr
2.找到sign=o,进入api()函数
3. 缺什么补什么,No need to supplement the environment
4.nodeRight-click on the environment to run ready-made code
function wordsToBytes(e) {
for (var t = [], n = 0; n < 32 * e.length; n += 8)
t.push(e[n >>> 5] >>> 24 - n % 32 & 255);
return t
}
n = {
utf8: {
stringToBytes: function stringToBytes(e) {
return n.bin.stringToBytes(unescape(encodeURIComponent(e)))
},
bytesToString: function bytesToString(e) {
return decodeURIComponent(escape(n.bin.bytesToString(e)))
}
},
bin: {
stringToBytes: function stringToBytes(e) {
for (var t = [], n = 0; n < e.length; n++)
t.push(255 & e.charCodeAt(n));
return t
},
bytesToString: function bytesToString(e) {
for (var t = [], n = 0; n < e.length; n++)
t.push(String.fromCharCode(e[n]));
return t.join("")
}
}
};
r = n;
a = r.utf8;
i = r.bin;
function bytesToWords(e) {
for (var t = [], n = 0, r = 0; n < e.length; n++,
r += 8)
t[r >>> 5] |= e[n] << 24 - r % 32;
return t
}
l = function sha1(e) {
e.constructor == String ? e = a.stringToBytes(e) : "undefined" !== typeof t && "function" == typeof t.isBuffer && t.isBuffer(e) ? e = Array.prototype.slice.call(e, 0) : Array.isArray(e) || (e = e.toString());
var n = bytesToWords(e)
, r = 8 * e.length
, i = []
, l = 1732584193
, s = -271733879
, c = -1732584194
, u = 271733878
, f = -1009589776;
n[r >> 5] |= 128 << 24 - r % 32,
n[15 + (r + 64 >>> 9 << 4)] = r;
for (var d = 0; d < n.length; d += 16) {
for (var p = l, h = s, y = c, m = u, b = f, v = 0; v < 80; v++) {
if (v < 16)
i[v] = n[d + v];
else {
var g = i[v - 3] ^ i[v - 8] ^ i[v - 14] ^ i[v - 16];
i[v] = g << 1 | g >>> 31
}
var k = (l << 5 | l >>> 27) + f + (i[v] >>> 0) + (v < 20 ? 1518500249 + (s & c | ~s & u) : v < 40 ? 1859775393 + (s ^ c ^ u) : v < 60 ? (s & c | s & u | c & u) - 1894007588 : (s ^ c ^ u) - 899497514);
f = u,
u = c,
c = s << 30 | s >>> 2,
s = l,
l = k
}
l += p,
s += h,
c += y,
u += m,
f += b
}
return [l, s, c, u, f]
}
function bytesToHex(e) {
for (var t = [], n = 0; n < e.length; n++)
t.push((e[n] >>> 4).toString(16)),
t.push((15 & e[n]).toString(16));
return t.join("")
}
function api(e, t) {
var n = wordsToBytes(l(e));
return t && t.asBytes ? n : t && t.asString ? i.bytesToString(n) : bytesToHex(n)
};
function randomWords() {
for (var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : 8, t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : "alphabet", n = "", r = {
alphabet: "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz",
number: "0123456789"
}[t], o = 0; o < e; o++)
n += r.charAt(Math.floor(Math.random() * r.length));
return n
}
noncestr = randomWords(8, "number")
console.log(noncestr)
timestamp = Date.now()
console.log(timestamp)
c = "xxx"+noncestr+"&serverTimestamp=0×tamp="+timestamp
sign = api(c)
console.log(sign)
边栏推荐
猜你喜欢

优化是一种习惯●出发点是'站在靠近临界'的地方

LeetCode-36-二叉搜索树与双向链表

The use of TortoiseSVN little turtle

ansible各个模块的详解和使用

石油化工行业商业供应链管理系统:标准化供应商管理,优化企业供应链采购流程

使用SylixOS虚拟串口,实现系统串口自由

【go】依赖注入

TCL:事务的特点,语法,测试例——《mysql 从入门到内卷再到入土》

npm warn config global `--global`, `--local` are deprecated. use `--location=global` instead.
![[mysql] 深入分析MySQL版本控制MVCC规则](/img/16/e28641c355d941fda50a6e8b7911ee.png)
[mysql] 深入分析MySQL版本控制MVCC规则
随机推荐
睡前故事|用Bitmap与AST做一个配置化时长系统
INSERT:插入操作语法&使用例——《mysql 从入门到内卷再到入土》
直播课堂系统09--腾讯云点播管理模块(一)
C. Rotation Matching
LeetCode-498-对角线遍历
C. Social Distance
参天生长大模型:昇腾AI如何强壮模型开发与创新之根?
ENVI最小距离、最大似然、支持向量机遥感影像分类
Auto.js中的悬浮窗
【golang map】 深入了解map内部存储协议
In 2021 China industrial Internet security competition (competition) in fujian province and the first industry of fujian province Internet innovation competition
B. Codeforces Subsequences
apr_thread使用内存之谜
2021DozerCTF
社区分享|货拉拉通过JumpServer纳管大规模云上资产
PROCEDURE :存储过程结构——《mysql 从入门到内卷再到入土》
流程控制结构——《mysql 从入门到内卷再到入土》
Redis命令手册
函数:函数删除操作语法&使用例——《mysql 从入门到内卷再到入土》
LeetCode questions 1-10