【js逆向】iwencai国内某金融网站实战

发布于:2025-03-11 ⋅ 阅读:(24) ⋅ 点赞:(0)

地址: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加密一模一样