准备

1. 目标网站(需进行b64解码) aHR0cDovL3d3dy5qb3ktYWlyLmNvbS8=
2. 需解密的加密参数
	- 查航班的 输入 DLC 到 YNT 进行查航班  这个url aHR0cDovL3d3dy5qb3ktYWlyLmNvbS9hcGkvZmxpZ2h0IWdldEZsaWdodHMuYWN0aW9u(需解b64)的 
    desc=coBPtm4BZy5Ly7E1arnlj3sqRwQjncBoKS2jF9dhe4zDLlgotTjT9tr/EdlNHs5Y0GPESPB0NLp55MXY9IrgdA== 参数 目测aes之类的加密
3. 使用工具谷歌浏览器 + fiddler

爬虫-js逆向记录1_3d

分析流程

  • 简单搜索一下参数名 发现 eking.min.js的这个文件很疑 更进看一下

爬虫-js逆向记录1_值调用_02

爬虫-js逆向记录1_3d_03

  • 刷新一下网页 点击 调到下一个断点 在我们的断点断下来

爬虫-js逆向记录1_3d_04

爬虫-js逆向记录1_值调用_05

  • 发现 (new born).getCiphertext() 好像就是我们要找的desc参数的加密值

爬虫-js逆向记录1_谷歌浏览器_06

  • 验证一下猜想 看看是不是我们要找的值

爬虫-js逆向记录1_赋值_07

爬虫-js逆向记录1_值调用_08

  • 既然发现了我们要找的值,我们就继续跟进看看desc这个值怎么来的

爬虫-js逆向记录1_简单搜索_09

爬虫-js逆向记录1_谷歌浏览器_10

爬虫-js逆向记录1_谷歌浏览器_11

  • 在赋值的地方打上断点 刷新一下浏览器看看哪里调用了它 (看见key,iv,padding这种,我们应该有一定敏感度,这可能是aes或者des之类的加密)

爬虫-js逆向记录1_值调用_12

  • 一步一步往下调试分析

爬虫-js逆向记录1_赋值_13

爬虫-js逆向记录1_简单搜索_14

爬虫-js逆向记录1_谷歌浏览器_15

爬虫-js逆向记录1_简单搜索_16

爬虫-js逆向记录1_赋值_17

爬虫-js逆向记录1_值调用_18

  • 最终发现 我们要找的ciphertext值也是就是desc值调用的 eq_u()方法返回的值就是我们的加密值

爬虫-js逆向记录1_3d_19

  • 进一步调试看看eq_u是怎么加密的

爬虫-js逆向记录1_简单搜索_20

  • 发现是DES加密 接下来我们可以扣代码补环境 本地生成desc

爬虫-js逆向记录1_值调用_21

  • 测试一下 大功告成

爬虫-js逆向记录1_简单搜索_22