xx投诉

声明

仅用于技术交流分享,严禁恶意利用,感谢大佬教学OrzOrz

正文

进入网页后往下划取,会发起信息获取请求,网络中找到/feed?开头接口

逆向分析signature参数,在发起程序处找到request堆栈调用,跟进下断点下滑触发中断


可以看到此时signature已生成,继续向上溯源,即request的上一个栈e.exports,由于该行在一个类或方法内,上滑即找到相关信息

定位至产生源,下滑触发断点

关注t的生成

1
2
3
4
5
6
7
8
e.exports = function(e) {
var t = c([d, h, u, e, l, p["type" + e]].sort().join(""))
, r = "".concat(i.INDEX_FEED, "?ts=").concat(d, "&rs=").concat(h, "&signature=").concat(t)
, b = {
type: e,
page_size: l,
page: p["type" + e]
};
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
//timestamp
var d = (new Date).getTime()
//16位随机字符串生成 这里方法名前后加了括号,控制台可以直接输出值
h = (function(e, t, r) {
var n = ""
, i = t
, a = ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z"];
e && (i = Math.round(Math.random() * (r - t)) + t);
for (var o = 0; o < i; o++) {
n += a[Math.round(Math.random() * (a.length - 1))]
}
return n
})(!1, 16)
//固定值
u = "$d6eb7ff91ee257475%"
l = 10
//键值对 实际过程还有个替换
p = {
type1: 1,
type2: 1,
type3: 1,
type4: 1,
jury: 1
};




最后分析c加密方法,追踪c,标准的sha256


xx投诉
https://alenirving.github.io/2026/02/17/xx投诉/
作者
Ma5k
许可协议
CC-BY-NC-SA