web逆向某省公共资源交易平台案例

声明:
该文章为学习使用,严禁用于商业用途和非法用途,违者后果自负,由此产生的一切后果均与作者无关

一、找出需要加密的参数

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
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

局外人LZ

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值