首页 > 其他分享 >猿人学web端爬虫攻防大赛赛题第20题——2022新春快乐

猿人学web端爬虫攻防大赛赛题第20题——2022新春快乐

时间:2024-11-17 15:56:37浏览次数:1  
标签:__ web 20 index 新春快乐 MODULE sign wasm match

题目网址:https://match.yuanrenxue.cn/match/20

解题步骤

解题之前需要先了解wasm是什么:https://docs.pingcode.com/ask/294587.html

  1. 看数据包。
    image
  2. sign是一串加密的字符串,t一看就是时间戳。全局搜索api/match/20,只有一处。
    image
  3. 打断点,触发。
    image
  4. 看下sign的生成逻辑。
    "sign": window.sign(window.page + '|' + t.toString())
    window.page:当前的页码
    t:时间戳
    window.sign:一个函数,主要关键点。
    找到定位,打断点,让断点运行到此处。
    image
    可以看到传进来的content就是页码和时间戳拼接的内容。
    方法调用的名字确实长,靠经验关键函数是_index_bg_wasm__WEBPACK_IMPORTED_MODULE_0__["sign"],不过这个函数有3个传参。
    • retptr
      const retptr = _index_bg_wasm__WEBPACK_IMPORTED_MODULE_0__["__wbindgen_add_to_stack_pointer"](-16);
      先跟进_index_bg_wasm__WEBPACK_IMPORTED_MODULE_0__["__wbindgen_add_to_stack_pointer"]
      image
    • ptr0
      var ptr0 = passStringToWasm0(content, _index_bg_wasm__WEBPACK_IMPORTED_MODULE_0__["__wbindgen_malloc"], _index_bg_wasm__WEBPACK_IMPORTED_MODULE_0__["__wbindgen_realloc"]);
      主要涉及arg、malloc、realloc三个参数
      image
      image
    • len0:值为15
      image
      经分析,retptr 为指针地址,ptr0 为内存地址
  5. 重点看_index_bg_wasm__WEBPACK_IMPORTED_MODULE_0__["sign"],打断点。
    image
    image
    主要传了$var0$var1$var2三个参数,重点看这三个变量的值,运行进来。
    image
    在其余包含有sign关键字的语句也打上断点,释放断点,看会进入哪一个。最终进入$match_twenty::sign::MD5::hash::hd3cc2e6ebf304f6f
    image
    image
    再看$var0$var1$var2三个参数的值。
    image
    长度$var2由15变成了31,说明在这个函数中进行了加密。$var1变成了1114192。
    继续释放断点,跳不过的就取消断点,最后回到了getStringFromWasm0函数。
    image
  6. 此时将$var1$var2值传入getStringFromWasm0函数,在控制台输出。
    image
    明文,并且在明文后面加了盐D#uqGdcw41pWeNXm
  7. 再结合加密函数的名字为MD5,尝试对明文进行MD5加密。
    image
    再将得到的r0r1传入getStringFromWasm0函数,在控制台输出。
    image
    发现跟我们MD5加密的结果一致, 所以这是个加盐的MD5加密。
  8. 开始编写python代码了。
    import requests
    import time
    import hashlib
    import re
    
    pattern = '{"value": (?P<num>.*?)}'
    num_sum = 0
    headers = {
    	"user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Safari/537.36"}
    
    cookies = {"sessionid": "xxxxx"}
    
    for i in range(1, 6):
    	t = str(int(time.time()) * 1000)
    	ming = str(i) + "|" + t + "D#uqGdcw41pWeNXm"
    	sign = hashlib.md5(ming.encode()).hexdigest()
    	url = "https://match.yuanrenxue.cn/api/match/20?page={}&sign={}&t={}".format(i, sign, t)
    	resp = requests.get(url, headers=headers, cookies=cookies)
    	content = resp.text
    	findall = re.findall(pattern, content)
    	for item in findall:
    		num_sum += int(item)
    print(num_sum)
    
    运行得到结果。
    image
  9. 提交,成功通过。
    image

标签:__,web,20,index,新春快乐,MODULE,sign,wasm,match
From: https://www.cnblogs.com/sbhglqy/p/18550642

相关文章

  • 20222305 2024-2025-1 《网络与系统攻防技术》实验六实验报告
    网络攻防实验报告姓名:田青学号:20222305实验日期:2024/11/15—2024/11/22实验名称:Metasploit攻击渗透实践指导教师:王志强1.学习内容1.Metasploit:是一款开源安全漏洞利用和测试工具,集成了各种平台上常见的溢出漏洞和流行的shellcode。2.渗透攻击模块(exploits):被动渗透攻击......
  • 关于中国《危房鉴定标准》的具体要求和细则,主要由**《建筑结构检测评定标准》(GB/T 503
    关于中国《危房鉴定标准》的具体要求和细则,主要由**《建筑结构检测评定标准》(GB/T50344-2015)和《危险房屋鉴定标准》**(JGJ125-2016)进行规范。这些标准为各类建筑特别是老旧房屋的安全鉴定、加固与维修提供了明确的依据。以下是有关危房鉴定标准的主要内容:1. 危房鉴定的基本原......
  • 2024长城靶场训练
    仿射密码首先题目描述使用仿射函数y=3x+9加密得到的密文为JYYHWVPIDCOZ,请尝试对其解密。flag为flag{大写明文}。1、使用在线网站直接破解或手工计算破解,获得flag。(参数a=3,b=9,对应仿射函数y=3x+9)仿射密码加密_仿射密码解密手工计算使用解密函数为D(x)=a^-1(x-b)(modm),......
  • 学期2024-2025-1 学号20241421 《计算机基础与程序设计》第8周学习总结
    作业信息|这个作业属于哪个课程|https://edu.cnblogs.com/campus/besti/2024-2025-1-CFAP||这个作业要求在哪里|https://www.cnblogs.com/rocedu/p/9577842.html#WEEK08||这个作业的目标|功能设计与面向对象设计,面向对象设计过程,面向对象语言三要素,汇编、编译、解释、执行||作......
  • 20222310 2024-2025-1 《网络与系统攻防技术》实验五实验报告
    一、实验内容1.从www.besti.edu.cn、baidu.com、sina.com.cn中选择一个DNS域名进行查询,获取以下信息(1)DNS注册人及联系方式(2)该域名对应IP地址(3)IP地址注册人及联系方式(4)IP地址所在国家、城市和具体地理位置2.尝试获取BBS、论坛、QQ、MSN中某一好友的IP地址,并查询获取该好友所......
  • 2024-2025-1 20241329 《计算机基础与程序设计》第八周学习总结
    作业信息作业归属课程:https://edu.cnblogs.com/campus/besti/2024-2025-1-CFAP作业要求:https://www.cnblogs.com/rocedu/p/9577842.html#WEEK08作业目标:功能设计与面向对象设计;面向对象设计过程;面向对象语言三要素;汇编、编译、解释、执行作业正文:https://www.cnblogs.com/inca......
  • Alpha冲刺(4/14)——2024.11.15
    目录一、团队成员分工与进度二、成员任务问题及处理方式三、冲刺会议内容记录会议内容四、GitHub签入记录及项目运行截图GitHub签入记录五、项目开发进展及燃尽图项目开发进展燃尽图六、团队成员贡献表一、团队成员分工与进度成员完成的任务完成的任务时长剩余时间施......
  • 基于webGL的可视化大屏很惊艳,动态效果更惊艳
    基于webGL的可视化大屏堪称惊艳之作。它利用先进的技术将数据以生动的形式呈现,无论是复杂的业务数据还是地理信息等,都能清晰展示。其色彩的运用和图形的构造相得益彰,营造出极具视觉冲击力的画面。而动态效果更是将这种惊艳提升到了新高度。数据的流动不再是静态展示,而是像......
  • ICPC2024杭州站游记
    Day-??发现杭州站可以报名,但是四处问了问发现并不知道中学生怎么报名?于是去push老叶找HZNU的工作人员报名,最后成功报上了。以为不能跨学校组队于是拉上了高一学弟,仍然沿用了“飞带长队”的队名。Day-?得知海峰加入了凯文队。Day-5加训CCPCHarbin,赢了呆呆鸟罚时。......
  • CSP/信奥赛C++语法基础刷题训练(12):洛谷P1047:[NOIP2005 普及组] 校门外的树
    CSP/信奥赛C++语法基础刷题训练(12):洛谷P1047:[NOIP2005普及组]校门外的树题目描述某校大门外长度为lll的马路上有一排树,每两棵相邻的树之间的间隔都是......