web逆向某省公共资源交易平台案例
夸克资源分享:
表情包:https://pan.quark.cn/s/5b9ddeb237fe
工具箱:https://pan.quark.cn/s/aa2d6a730482,图吧、美蛋、路遥、入梦等
Fiddler Everywhere抓包:https://pan.quark.cn/s/6b1e2fbae019,
Adobe:https://pan.quark.cn/s/13e39cfeaadb,先看安装教程
JetBranis开发者工具:https://pan.quark.cn/s/16e94dcff1f7,先看安装教程下的jetbra教程
逆向工具:https://pan.quark.cn/s/50e93c8ca54c
前端项目搭建集锦:https://blog.youkuaiyun.com/randy521520/article/details/146998467
声明:
该文章为学习使用,严禁用于商业用途和非法用途,违者后果自负,由此产生的一切后果均与作者无关
一、找出需要加密的参数
1.js运行 atob(‘aHR0cHM6Ly95Z3AuZ2R6d2Z3Lmdvdi5jbi8jLzQ0L2p5Z2c=\n’) 拿到网址,F12打开调试工具,找到 search/v2/items 请求,鼠标右击请求找到Copy>Copy as cUrl(cmd)

2.打开网站:https://spidertools.cn/#/curl2Request,把拷贝好的curl转成python代码

3.新建 gdzy.py,把代码复制到该文件,运行该文件会发现请求成功,并且成功打印出数据

4.然后把代码中的cookie中全部注释,再运行文件,会发现数据依然可以请求成功,再把header中X-Dgi开头注释,再运行文件会发现请求失败

二、定位header加密位置
1.F12打开浏览器控制台,找到切换分页的元素,点击绿色位置进入js文件,并断点


2.切换分页会进入该断点,然后一直点击跳过当前函数执行或者按F10,直到出现X-Dgi-Req的字样,在控制台输出d,会发现X-Dgi-Req-App、X-Dgi-Req-Nonce、X-Dgi-Req-Timestamp已生成,而X-Dgi-Req-Signature是一个需要加密的对象

3.再一直点击跳过当前函数执行或者按F10,当遇到from函数停下,会发现参数是header,输出from转换后的header发现X-Dgi-Req-Signature已加密,再from代码行断点

4.结束此次断点,切换分页,点击跳过断点或者按F8,则会看到from断点,鼠标悬浮from上点击短链接找到该函数,并在函数内部断点


5.点击跳过断点或者按F8会进入刚才的断点,在控制台输出t instanceof this,会发现返回false,所以此时代码走的是new this(t),鼠标悬浮到new this点击短链接找到该对象会发现是个class对象,class对象初始化会进入constructor,而此class对象中constructor调用的是自己的set方法,在set方法内部断点


6.点击跳过断点或者按F8会进入刚才的断点,在该断点处一直看到X-Dgi-Req-Signature停止点击跳过断点


7.然后一直点击跳过当前函数执行或者按F10,走到Da函数时停下,控制台输出相关的值会发现,此时的X-Dgi-Req-Signature已重新赋值且已加密

8.至此加密heaer字段相关位置已找到,只要把相应的代码抠出来即,抠代码时没有什么特别注意的,除了时间戳都是固定的值直接扣下来就好,X-Dgi-Req-Signature加密时会用到请求参数
三、验证加密结果
1.加密文件

2.python文件,这里下载了1000条数据,没使用线程有点慢

3.下载后的xlsx

2242

被折叠的 条评论
为什么被折叠?



