地址:aHR0cHM6Ly93d3cuaXdlbmNhaS5jb20vdW5pZmllZHdhcC9ob21lL2luZGV4
在搜索框中随便输入关键词
查看请求标头,请求头中有一个特殊的 Hexin-V
,
它是加密过的;响应数据包中全是明文。搞清楚Hexin-V
的值是怎么生成的,这个值和cookie中的v值也是一样的
查看载荷
采用hook技术,调试的时候会停在给cookie赋值的地方。
点两下继续执行脚本就出现了
主要的实现代码在O
函数里
在这个自运行函数下面,变量rt
就是自运行函数里的变量n
,所以给n
赋值也就相当于给rt
赋值。
ReferenceError: document is not defined ReferenceError: window is not defined
var document = {};
var window = {};
TypeError: r[51].getElementsByTagName is not a function ,这句代码去掉
Kn = c[66][f + l] || r[51].getElementsByTagName(p + d)[r[52]]
var rt下面的那段函数
注释:
function P() {var n = s[0], t = r[88], e = parseInt(u[13], c[122]), a = s[217];S = new qn([a, a, a, a, n, n, n, e, t, t, t, t, t, t, t, a, t, n]),S[p] = Jn.serverTimeNow(),M(),S[B] = Vn,S[k] = Un,S[R] = c[2],S[h] = 3962565446,S[b] = 3748,S[g] = 1,S[w] = 10,S[m] = 5}
function M() {// var n = Qn.getCookie(Fn) || Zn.get(jn);// if (n && n[s[111]] == parseInt(c[221], e[93])) {// var t = zn.decode(n);// if (t && (S.decodeBuffer(t),// S[l] != s[2]))// return// }S[l] = Jn.random()}
function O() {S[R]++,S[p] = Jn.serverTimeNow(),S[d] = Jn.timeNow(),S[B] = Vn,S[I] = 0,S[y] = 0,S[_] = 0,S[C] = 0,S[E] = 0,S[A] = 0;var n = S.toBuffer();return zn.encode(n)}
运行结果:
结果:
此题和图灵练习平台第15题cookie加密一模一样