逆向案例十九——请求头参数加密,某企查

网址:百度安全验证

查找企业的相关信息。找到xhr包,可以找到数据,但是请求头中有ymg_ssr参数的加密

 

 

现在进行ymg_ssr参数加密,直接搜索,找到加密的js文件和加密位置,打上断点。

 

发现t就是加密的参数,那么t是怎么来的,它是函数的参数传的值,向上跟栈分析。

 

打印函数和参数,发现a2是加密参数,a8未定义,那么主要是g2函数的作用。

继续往上跟栈分析,发现a2和a8都进行了定义

 

a2 = JSON[b('0xe')](a2);
a8('\x31\x37\x32\x31\x30\x34\x31\x35\x30\x34\x30\x30\x33\x5f' + ae + '\x5f' + eg(a2, a0, a1))

 

打印一下,这些可能是有用的。:

 

主要分析g2函数,进入g2函数,打上断点,不出意料,这个应该是加密函数,先整体复制,再缺什么补什么!

 

复制打印,发现缺少eA对象

 

进入eA对象并复制。

 

 

发现eA中的b没有定义。

 

进一步去找b,并复制

 

发现b中的a没有定义 

 

发现a是一个对象,打印并复制object

 

然后又发现eA函数中的ex没定义,回去找,ex也是一个对象,复制object

 

发现g2函数中的fu没有定义 

 

找到fu并复制

 

这次是fT没有被定义,网上看fT是空列表。 

 

接着是fs,这些都在g2上面呢,逐个复制即可

 

但是,接下来会遇到这样的情况,a3.on不是一个函数,这说明一个个去扣代码,不太现实

 

g2函数所在的是一个大函数里面的自执行函数的内容。

 

复制这个自执行函数,改写我们的代码,把除了a和b定义外的全删掉,因为这些是在这个自执行函数内部的。再写window=global

 

然后就发现,g2未定义,还记得如何处理自执行函数吗?(他这个最后括号里的函数是空的)外部声明一个变量,去导出内部函数,然后补JSDOM环境,模拟浏览器环境。固定的补浏览器代码:

var jsdom = require('jsdom')
var { JSDOM } = jsdom;
var dom =  new JSDOM(`<!DOCTYPE html><html lang="cn"><head></head><body></body></html>`);
window = dom.window
document=window.document
navigator=window.navigator  

现在没有报错了,只要导出g2函数即可。 

 

怎么导出呢?导出后,应该传入什么值呢? 

 

 

 

 

 

 

 

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-16 00:42:04       67 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-16 00:42:04       71 阅读
  3. 在Django里面运行非项目文件

    2024-07-16 00:42:04       58 阅读
  4. Python语言-面向对象

    2024-07-16 00:42:04       69 阅读

热门阅读

  1. windows区分大小写

    2024-07-16 00:42:04       22 阅读
  2. BCC工具命令报错解决步骤

    2024-07-16 00:42:04       20 阅读
  3. React

    React

    2024-07-16 00:42:04      19 阅读
  4. zookeeper+kafka消息队列群集部署

    2024-07-16 00:42:04       18 阅读
  5. MySQL架构详解

    2024-07-16 00:42:04       19 阅读
  6. 食品安全管理员考试真题题库及答案

    2024-07-16 00:42:04       19 阅读
  7. WPF TreeView 全选/反选/子级选中父级也选中

    2024-07-16 00:42:04       18 阅读
  8. 基于深度学习的文本摘要

    2024-07-16 00:42:04       22 阅读
  9. 基于深度学习的语音识别

    2024-07-16 00:42:04       24 阅读
  10. Ubuntu20.04.6新系统没有wifi驱动(已解决)

    2024-07-16 00:42:04       24 阅读
  11. dagger2实现原理

    2024-07-16 00:42:04       23 阅读