1 什么叫做web逆向

数据加密

  • 数据解密
  • 浏览器当中明文
  • 解密的 JS 板块

请求头参数加密

  • 获取生成的方式
  • 服务器也不知道具体是什么东西?
  • 原文内容
  • 被加旁之前的数据
  • 爬虫 模仿服务器的加密方式
  • 表单加密
  • 参数加密
  • cookie如密
  • 返回的数据不对?

2 web逆向技巧

2.1 定位技巧

接口定位

  • 字体加密
  • Unicode
  • 数据加密

JS逆向

主要的加/解密方法或函数

2.2 JS语法

2.2.1 混淆js

2.2.2 无混滑js

关键字搜索

解密搜decrypt;加密搜 encrypt(只适用于方法)。

ajax渲染 JSON.parse:

  • JSON.parse(函数或方法(密文))
  • a = 函数或方法(密文)JSON.parse(a)

接口自带的关键字,方法或者函数(密文数据)

XHR 断点
路径断点(搜索)
跟栈
hook

eval加密

2.3 涉及的内容

  • 对称加密算法(DES AES)
  • 非对称加克算法
  • 消息摘要算法
  • MD5、SHAhm
  • 不能被破解密
  • 魔改算法
  • 数字签名算法

2.4 扣 JS

3 实战

定位到 js 文件后,右键进入源码:

这就看到具体源码了:

Web逆向入门_搜索

鼠标放在 decode 方法上,跳转过去

Web逆向入门_数据_02

这就到了其它文件中的方法定义:

Web逆向入门_搜索_03

将其改造为函数:

Web逆向入门_搜索_04

注意到第二行的 f 是啥呢?没有值,回到控制台源码:

Web逆向入门_搜索_05

打印其值:

Web逆向入门_数据_06

来开始生成爬虫代码,使用工具帮我们生成爬虫代码:

Web逆向入门_数据_07

要在Python中执行JavaScript代码,可以使用execjs库。execjs是一个通用的JavaScript执行器,它可以在Python中运行JavaScript代码。安装execjs:

pip install PyExecJS

执行结果:

技巧

有时我们刷新页面出来东西太多,干扰二次定位请求,可以切换页面里的标签,每次就不会重新渲染太多。如从最近热门切到最近更新:

Web逆向入门_搜索_08

仅出现几个元素,轻松看出使用了加密数据,返回字典也无意义

Web逆向入门_搜索_09

从网络-启动器进入源文件:

Web逆向入门_搜索_10

搜索 json.parse,找到这样代码段。

调试技巧,不一定要刷新界面,可以下滑当前页面,触发渲染执行 js 代码。

Web逆向入门_数据_11