11期_js逆向核心案例解析(sichuan&某理财网)

JS模块

定位

方式一:搜索signature:或者signature=即可定位!我们这里用后者搜索到!
方式二:通过请求堆栈找signature没有生成的时候,断点搜url找到send的地方!然后找拦截器!

url搜索

找到拦截器

定位Promise.then的时候,我们调试要注意异步的问题,异步的话堆栈的箭头下不去的!需要重新定位后打断点!

我们打断点之后就打印p数组,找到请求函数即可!

最后和我们刚刚第一种方式的定位是一样的!

python中的import as。。。就是导出名字叫什么什么

这个文件的x,从上个导入文件来说就是Z

然后我们找到上一个文件叫 He as Z 但是我们还有个问题是He搜了全局有1000多个,所以我们直接将整个文件复制粘贴得了

python调用

区分payload所传参数的处理!

注意:payload有两种的,一种post请求payload给的object对象。另一种就是json处理成form表单。而如下就是object对象!

python 复制代码
如下:
"""
POST path HTTP/1.1
请求头
contentType:form

pageNum=1&pageSize=10&a=1&b=2
"""

"""
POST path HTTP/1.1
请求头
contentType:json

{"pageNum":1,"pageSize":10}
"""

看到前面抓包的parameter:xxx是键值对的格式,所以header里面的content-type就是application;json

总结:看目标的包用的什么格式就用什么格式!

python 复制代码
data = {
    'orgName': '',
    'prodName': '',
    'prodRegCode': '',
    'pageNum': 2,
    'pageSize': 20,
    'prodStatus': '',
    'prodSpclAttr': '',
    'prodInvestNature': '',
    'prodOperateMode': '',
    'prodRiskLevel': '',
    'prodTermCode': '',
    'actDaysStart': None,
    'actDaysEnd': None,
}


response = requests.post(
    'https://xinxipilu.chinawealth.com.cn/lcxp-platService/product/getProductList',
    cookies=cookies,
    headers=headers,
    # params: GET请求的查询数据
    # data=data,  # data默认将字典处理成form表单的字符串格式(a=1&b=2)
    # json=data,  # json=data是将字典处理成json字符串格式({"a":1,"b":2})
    data=json.dumps(data, separators=(",", ":"))
)

json.dumps处理方案:

data = json.dumps(data),这样的话只会将json处理成字符串,而不是json数据,输出类似如下格式

'{"a": 1, "b": 2}'

但是问题是逗号,和冒号:后面都是有空格的!所以要用separator属性后面那样写!详解如下,可自行测试一下

案例

python 复制代码
import json

data = {
    "a": 1,
    "b": 2
}

# print(len(json.dumps(data)))
# '{"a": 1, "b": 2}'
# '{"a":1,"b":2}'
print(json.dumps(data,separators=(",",":")))

之所以不写json = data就是因为他会默认处理成json.dumps(data),但这样就处理不了空格,所以我们如下data = json.dumps(data,separator=(",",":"))

相关推荐
qydz117 分钟前
杰理开发板做TWS耳机类型方案分享(1)
开发语言·pcb工艺·嵌入式开发·杰理科技
Cloud_Shy61837 分钟前
解读《Effective Python 3rd Edition》:从练气到老魔(第六章 Item 40 - 43)
android·开发语言·人工智能·笔记·python·学习方法
Sammyyyyy37 分钟前
月之暗面 Kimi Code 0.4.0 发布,终端 AI 编码助手全面采用 TypeScript,实现毫秒级启动
前端·javascript·人工智能·ai·typescript·servbay
半只小闲鱼43 分钟前
配置计划模块通用办公设备家具批复数合计计算
开发语言·python
qq_422152571 小时前
Word 文件太大怎么压缩?2026 年文档瘦身方案对比
开发语言·c#·word
charliedev1 小时前
Jedi:Python 自动补全与静态分析的实用工具
开发语言·python·其他
宋拾壹1 小时前
fastadmin列表中查看列表,并且添加增加相应的数据
javascript·php·fastadmin
ji198594431 小时前
MATLAB 求散点曲线斜率
开发语言·算法·matlab
kaikaile19951 小时前
MATLAB 实现:Koch & Zhao 图像水印算法(DCT域)
开发语言·算法·matlab
love_muming2 小时前
链表每日一练
java·开发语言·数据结构·链表·idea·每日一练