当前位置:网站首页>猿人学第二十题
猿人学第二十题
2022-07-28 21:50:00 【consult one's pillow】
**# 猿人学第二十题
首先通过请求发现,请求就两个参数,一个t和sign。
其中t为时间戳,sign为一个加密后的字符串,字符串的长度为32。
接着往后分析。。。。。。
我们进入window.sign这个函数里面去。因为这里是sign的加密地方。
经过几次重复调试发现getStringFromWasm0(r0, r1);,这里的r0和r1为固定不变的。这个函数的意思是固定从内存固定的位置去取加密后的参数。
我们发现传入的参数content,也就是 “2|1658741542000” 也就是这个玩意儿 ,只在一个地方被引用了。因为我已经分析过了。
// 参数在这里放入的内存。
var ptr0 = passStringToWasm0(content, _index_bg_wasm__WEBPACK_IMPORTED_MODULE_0__["__wbindgen_malloc"], _index_bg_wasm__WEBPACK_IMPORTED_MODULE_0__["__wbindgen_realloc"]);
// 这里对content进行加密的,这个时候直接取内存里面取的参数,所以,传入的是内存地址
_index_bg_wasm__WEBPACK_IMPORTED_MODULE_0__["sign"](retptr, ptr0, len0);
使用getStringFromWasm0(r0, r1);这个函数进行测试发现,ptr0为内存地址。
最后进入
// 加密函数
_index_bg_wasm__WEBPACK_IMPORTED_MODULE_0__["sign"]
查看哪个函数对这个地址进行了操作的。
call $match_twenty::sign::MD5:#️⃣:hd3cc2e6ebf304f6f
这里是参数加密的位置
分析完了,直接贴代码
import requests
import time
import hashlib
headers = {
'authority': 'match.yuanrenxue.com',
'accept': 'application/json, text/javascript, */*; q=0.01',
'accept-language': 'zh-CN,zh;q=0.9,en;q=0.8',
'cache-control': 'no-cache',
'cookie': 'Hm_lvt_0362c7a08a9a04ccf3a8463c590e1e2f=1656481755,1656661058,1656985288,1658457383; Hm_lvt_c99546cf032aaa5a679230de9a95c7db=1658368336,1658454438,1658713011,1658720402; no-alert3=true; Hm_lvt_9bcbda9cbf86757998a2339a0437208e=1658368358,1658454446,1658713020,1658720406; tk=-111657350385238811; sessionid=dfl6r164x63xtt6tgv4r53im8bm075u1; Hm_lpvt_9bcbda9cbf86757998a2339a0437208e=1658736978; Hm_lpvt_c99546cf032aaa5a679230de9a95c7db=1658738427',
'pragma': 'no-cache',
'referer': 'https://match.yuanrenxue.com/match/20',
'sec-ch-ua': '^\\^.Not/A)Brand^\\^;v=^\\^99^\\^, ^\\^Google',
'sec-ch-ua-mobile': '?0',
'sec-ch-ua-platform': '^\\^Windows^\\^',
'sec-fetch-dest': 'empty',
'sec-fetch-mode': 'cors',
'sec-fetch-site': 'same-origin',
'user-agent': 'yuanrenxue.project',
'x-requested-with': 'XMLHttpRequest',
}
count = 0
for page in range(1, 6):
# 获取时间戳
t = time.time()
t = str(int(t)) + "000"
# 获取sign 参数
sign = hashlib.md5((str(page) + "|" + t + 'D#加加密参数').encode()).hexdigest()
params = (
('page', page),
('sign', sign),
('t', t),
)
response = requests.get('https://match.yuanrenxue.com/api/match/20', headers=headers, params=params)
data = response.json().get('data')
for i in data:
count += i.get('value')
print(count)
**
边栏推荐
- 【数据挖掘工程师-笔试】2022年大华股份
- Trivy [2] tool vulnerability scanning
- 2022年R2移动式压力容器充装考题模拟考试平台操作
- Arduino UNO驱动合宙1.8‘TFT SPI屏幕示例演示(含资料包)
- 1314_串口技术_RS232通信基础的信息
- How does VR panorama entrepreneurship expand the market? How to make the road of entrepreneurship smoother?
- Messages from students participating in the competition: memories of the 17th session
- Subscript in swift
- Input element label
- 金仓数据库 KingbaseES与Oracle的兼容性说明(2. 数据类型)
猜你喜欢

CV实例分割模型小抄(1)

MySQL log management, backup and recovery

CV目标检测模型小抄(2)

零念科技完成Pre-A轮融资,推动智能驾驶平台软件国产替代

一文读懂Okaleido Tiger近期动态,挖掘背后价值与潜力

What's special about this wireless router, which is popular in the whole network?

Price for volume has encountered "six consecutive declines" in sales. Can Volvo, which is no longer safe, turn around?
![[self] - question brushing - peak value](/img/cf/9c47da9c574b61415578e7fde8b126.png)
[self] - question brushing - peak value

trivy【2】工具漏洞扫描

How to add the index of a set in mongodb to another set in mongodb
随机推荐
String string
[self] - brush questions logic
Arduino框架下STM32F103C系列单片机引脚映射关系
Development of small programs ②
The front mounted ADAS camera in parking increased by 54.15% year-on-year, with TOP10 suppliers taking the lead
Why did "you" become a test / development programmer? The value of your existence
深度剖析集成学习Xgboost(续)
Elements in the middle (one article is enough)
[self] - brush questions BFS
General principles of software quality
网络流量监控工具iftop
解决serviceaccount用户认证挂载密文token文件失败导致pod使用anonymous用户问题
【自】-刷题-峰值
2022 R2 mobile pressure vessel filling test question simulation test platform operation
金仓数据库KingbaseES 客户端编程接口指南 - ODBC特性支持约束
2022g3 boiler water treatment test simulation 100 questions simulation test platform operation
Programmer growth Chapter 30: artifact of identifying true and false needs
Solve the exception that all control files are damaged
With the "integration of driving and parking", freytek's high-performance domain controller leads the new track
22牛客多校day1 J - Serval and Essay 启发式合并