知乎加密参数x-zse-96详解

一、通过接口请求,发现4个参数为必要参数

  1.cookie

  2.x-zse-93  固定加密版本,

  3.x-zse-96  代解密参数1

  4.x-zst-81  代解密参数2(复制固定的也可以一直用)

  

 

 

 

 二、破解x-zse-96

  1.在js代码寻找对一参数名,通过寻找,能找到x-zse-96

  

  2.解析思路

    通过断点逆向推理可以看出,

      1.x-zse-96由 2.0_ + y 组成 

      2. y取的是m函数里的signature

      3.signature由u()(f()(s))

      4.发现f()(s)和md5加密参数很相似,我们尝试复制s参数去md5网站加密对于,发现是两者一致

       s参数查看是由 f'{x_zse_93}+{path}+{d_c0}+{x_zse_81}'这几个参数拼接而成

       d_c0为cookie里的参数

      

 

 

       

      5.复制u()函数js代码,通过 excejs去执行即可得出y

  3.负责的js需要由dom环境

   1.在复制的代码也前添加

const jsdom = require("jsdom");
const { JSDOM } = jsdom;
const dom = new JSDOM(`<!DOCTYPE html><p>Hello world</p>`);
window = dom.window;
document = window.document;
XMLHttpRequest = window.XMLHttpRequest;

 

   2.运行安装jsdom需要node.js环境,在官网下载node即可(可百度如何安装)

   3.npm install jsdom,则可以在node_modules看到jsdom包

 

posted @ 2022-02-25 10:40  小王八+1  阅读(2040)  评论(0编辑  收藏  举报