企知道搜索详情加密分析

前言

本文章中所有内容仅供学习交流使用,不用于其他任何目的,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关!


网址

aHR0cHM6Ly93d3cucWl6aGlkYW8uY29tL2NoZWNrP3NlYXJjaEtleT0lRTUlQTQlQTclRTYlOTUlQjAlRTYlOEQlQUUmdGFnTnVtPTEmc2NQYWdlVGl0bGU9UEMlRTclQUIlOTklRTQlQjglQkIlRTclQUIlOTkmc2VhcmNoTW9kZVR5cGU9OCZmcm9tUm91dGVQYWdlPWNoZWNrJmJ1c2luZXNzU291cmNlRHpsUXVlcnk9

一、详情加密

在这里插入图片描述

获取参数data1位置的方法:
1、通过全局搜索decrypt找到加密位置
2、服务器发包解包的数据传输 一般采用 json格式,可以通过Hook json.parse(data1) 密文

var my_parse = JSON.parse;
JSON.parse = function (params) {
	debugger;
	console.log("json_parse params:",params);
	return my_parse(params);
};

二、加密位置

下断点发现是AES加密:

通过请求enterpriseListV2链接发现每次都会返回一个hasUse参数int类型,每次请求都会变化。

在这里插入图片描述

在源码中可以发现AES的key是固定的,通过字典去取值
在这里插入图片描述

通过请求详情获取两参数
hasUse_num = response.json().get(‘hasUse’)
payload = response.json().get(‘data1’)

运用python实现AES解密

def decrypt(info: str, hasUse:int) -> list:
    key = f'{hasUse}'.encode(encoding='utf-8')
    cipher = AES.new(key, mode=AES.MODE_ECB)
    json_str = str(cipher.decrypt(base64.b64decode(info)), encoding='utf-8')
    data = re.sub('[\x00-\x09|\x0b-\x0c|\x0e-\x1f]', '', json_str)
    return json.loads(data)

三、cookie加密分析

在这里插入图片描述

wz_uuid 应该是游客登录ID,没啥用,主要是x-web-ip这个参数。
经调试查看,被检测的请求ID应该是由浏览器环境 MD5后生成。
访问频繁和刷新频繁会被拦截,出现人机验证,需验证后重新
获取替换cookie中的x-web-ip方可访问。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值