【猿人学WEB题目专解】猿人学第13题

猿人学web端爬虫攻防大赛赛题解析_第十三题:入门级cookie 第十二题:入门级cookie1、前言2、解析过程3、代码实现 1、前言 这道入门级cookie看起来挺简单,但对刚入门的新手来说,要找到生成cookie的逻辑,其实还是需要掌握一定的抓包技巧,比如对fiddler工具的基本使用要有一定了解,要不然可能会做的有点懵,废话不多说,回顾下自己解这题时的经历吧。 2、解析过程 还是打开开发者工具,查看xhr请求,发现这题的请求头内的cookie中包含了两个参数:sessionid和yuanrenxue_cookie,这应该是就是我们要找的加密参数。 顺着这个请求的 阅读详情

🌈据说,看我文章时 关注、点赞、收藏 的 帅哥美女们 心情都会不自觉的好起来。

前言:
🧡作者简介:大家好我是 user_from_future ,意思是 “ 来自未来的用户 ” ,寓意着未来的自己一定很棒~
✨个人主页:点我直达,在这里肯定能找到你想要的~
👍专栏介绍:猿人学WEB题目专解 ,提供猿人学WEB题目总计20题的解题思路与方法,如有讲述错误,请不吝赐教。

想看往期历史文章,可以浏览此博文: 历史文章目录,后续所有文章发布都会同步更新此博文~

人生苦短,我用python

题目网址

猿人学第13题

题目详情

在这里插入图片描述
让我们计算 加和。

题目思路

这题既然写入门 Cookie ,那肯定要来看看 Cookie ,一眼就见到了 yuanrenxue_cookie 这个特殊的 Cookie :
在这里插入图片描述
既然这 Cookie 不是自带的,是通过js设置的,那我们就给脚本的第一个语句打上断点,阻止页面的第一次js加载:
在这里插入图片描述
然后我们可以看到我们这个页面是一串 script 标签:
在这里插入图片描述
看来 Cookie 就是通过这个设置的了,我们通过正则也好,replace 也好,取出 cookie 应该轻而易举吧~
示范用 replace 去除的(懒得导入正则模块):

new_cookie = session.get('https://match.yuanrenxue.com/match/13').text.replace('<script>document.cookie=', '').replace("';path=/';location.href=location.pathname+location.search</script>", '').replace("('", '').replace("')+", '')

在访问这个网页之前,需要先设置好 Cookie ,由于 Cookie 是由网页本身直接设置的,所以此处要用 Session,方便接收 Set-Cookie 请求头, Session 设置 Cookie 的方式:

session.cookies = requests.utils.cookiejar_from_dict(cookie_dict)

获取 Session 的 Cookie 的方式:

cookie_dict = requests.utils.dict_from_cookiejar(session.cookies)

解题源码

import jsonpath
import requests.utils

session = requests.session()
session.headers = {
    'User-Agent': 'yuanrenxue.project'
}
session.cookies = requests.utils.cookiejar_from_dict({'sessionid': 'pvsqc0xfuypgsqvp7fn0lisczrxpsz4n'})
new_cookie = session.get('https://match.yuanrenxue.com/match/13').text.replace('<script>document.cookie=', '').replace("';path=/';location.href=location.pathname+location.search</script>", '').replace("('", '').replace("')+", '')
cookies = requests.utils.dict_from_cookiejar(session.cookies)
cookies.update({k: v for k, v in [new_cookie.split('=')]})
session.cookies = requests.utils.cookiejar_from_dict(cookies)

value = 0
for index in range(1, 6):
    url = f"https://match.yuanrenxue.com/api/match/13?page={index}"
    # value += sum(v['value'] for v in session.get(url).json()['data'])
    value += sum(jsonpath.jsonpath(session.get(url).json(), '$..value'))
print(value)
猿人学第13题逆向实战:破解JS控制流平坦化与反调试 JavaScript逆向工程是Web安全与数据采集中的关键技术,其核心在于理解前端代码的保护机制与执行逻辑。常见的混淆技术如控制流平坦化通过打乱代码执行顺序增加分析难度,而反调试机制则通过检测开发者工具状态来阻碍动态分析。这些技术的工程价值在于保护核心算法与业务逻辑,广泛应用于数据加密、接口签名等场景。本文以猿人学平台第13题为案例,深入剖析如何通过Proxy代理实现环境补全,并利用动态跟踪法破解控制流平坦化,最终提取出可复用的加密函数。通过结合无头浏览器与AST分析技术,形成一套应对复杂JS混淆的通用解决 阅读详情

相关推荐

AI辅助JS逆向实战:破解猿人学JSVMP加密参数

在Web安全与数据爬取领域,JavaScript逆向工程是解析前端加密逻辑的核心技术。其原理在于通过动态调试与静态分析,理解混淆代码的执行路径与数据流,从而还原关键参数的生成算法。这项技术的价值在于能够应对日益复杂的客户端保护方案,如控制流扁平化和虚拟化(JSVMP),确保数据采集与安全测试的可行性。典型的应用场景包括爬虫开发中的参数破解、Web应用安全审计以及加密算法研究。本文以猿人学平台题目为例,详细阐述了如何将AI工具(如Cursor、ChatGPT)融入逆向流程,通过AI辅助代码解释、逻辑推理与片段

weixin_30296405的博客 557

猿人学第13题思路解题python

猿人学第13题解决思路

m0_46623754的博客 2189

JS逆向系列之猿人学爬虫第5题

猿人学爬虫攻防赛web第5题乱码增强

自成背后的博客 6363

猿人学第十三题(含详细解释)

【代码】猿人学第十三题(含详细解释)

2401_84219403的博客 624

js代码-猿人学第一题js

js代码-猿人学第一题js

新四化浪潮下,中年整车诊断工程师的黄金突围路

摘要 本文探讨了汽车电子诊断工程师在当前行业变革中的独特优势与发展路径。作者作为从业者指出,整车诊断岗位在汽车"新四化"浪潮中呈现"逆生长"特性:技术壁垒高、经验复利强、市场需求持续增长。中年工程师凭借丰富的案例积累和实战经验成为行业稀缺人才,薪资水平显著高于同龄段其他技术岗位。文章分析了四条职业发展路径(技术专家、技术管理、细分深耕、横向拓展),并警示了三大职业风险(执行层局限、技术停滞、成果沉淀不足)。最后提出具体建议,强调掌握UDS高阶、DoIP以太网诊断等核心技术的重要性,为中年技术人提供了清晰的职

Soly_kun的博客 308

猿人学第13题-------入门级cookie

目标网站:match.yuanrenxue.com/match/13 打开开发者工具: 翻页时出现: 通过查看发现cookie多了两个变量: 这就是本次加密的参数, 还是之前的方法,先顺着调用栈找它们生成的地方: 却没有发现关于cookie的, 换个方向,是不是通过其他js文件来实现了加密呢?通过关键词全局查找,有相似的点进去看了最后都不是。即使清空了先前浏览器保存的cookie记录,但是cookie还是赋值了。 最后通过fiddle抓包发现, https://...

weixin_44048917的博客 1332

别再死磕公式了!用Python+NumPy手把手实现机器人逆运动学数值求解(附避坑指南)

本文详细介绍了如何使用Python和NumPy实现机器人逆运动学(Inverse Kinematics, IK)的数值求解方法,包括牛顿-拉弗森法、雅可比矩阵计算及奇异位形处理。通过实战代码和避坑指南,帮助开发者快速掌握现代机器人学中的核心算法,提升工程实践能力。

weixin_30687051的博客 126

js逆向系列之猿人学爬虫第13题

文章目录1. 目标网址2. 抓包分析3. 编码测试 1. 目标网址 https://match.yuanrenxue.com/match/13 2. 抓包分析 浏览器打开无痕模式: 可以看到第一页数据包。 两个名叫13的包,第二个有数据,是请求了一个api接口,第一个推断应该是加载了cookie。 点一下第二页: 发现抓不到这个包,说明有cookie验证。 我们不用无痕窗口看一下第二页: 发现是可以看的,所以接下来我们的解决思路就有了,我们先直接对这个网站发请求: import request

自成背后的博客 5968

动力锂电池-二阶RC模型等效电路-RLS参数辨识-Simulink

1.锂电池二阶RC等效电路模型

QQ1978009424的博客 1万+

MAX31855电路和程序,实现SPI和软件模拟时序两种方式读取数据

1. 概述 MAX31855为热电偶至数字输出转换器,内置14位模/数转换器(ADC)。器件带有冷端补偿检测和修正、数字控制器、SPI兼容接口,以及相关的控制逻辑,在温度控制器、过程控制或监测系统中设计用于配合外部微控制器(μC)工作。提供多个版本的器件,每个版本针对特定的热电偶类型(K、J、N、T或E型)进行优化和调整。热电偶类型以器件型号后缀表示(例如MAX31855K)。 器件输出14位...

睿思派克 1万+

【猿人学WEB题目专解】猿人学第18题

第十八题 jsvmp 洞察先机 - 猿人学

user_from_future的博客 3万+

保姆级避坑指南:在Ubuntu 18.04上搞定速腾Helios雷达驱动与fast-LIO2的完整配置流程

本文提供了一份详细的速腾Helios雷达与fast-LIO2在Ubuntu 18.04上的配置避坑指南,涵盖驱动安装、数据格式转换到建图全流程。特别针对常见编译错误和数据转换问题提供了解决方案,帮助开发者高效完成环境搭建与建图任务。

weixin_27252001的博客 112

【猿人学WEB题目专解】猿人学第16题

webpack初体验

user_from_future的博客 499

【电击防护篇】电击防护技术详解:从人体效应到接地系统全解析

本文系统讲解了电击防护的关键知识,包括电流对人体的影响(如30mA是心室颤动阈值)、人体电阻特性(700Ω-6100Ω)以及电气接触防护措施。重点分析了TT、TN和IT三大接地系统的结构特点与应用场景,强调TN-S系统最安全,IT系统供电连续性最佳。详细介绍了漏电保护器(RCD)的工作原理与选型指南,建议人身防护选用30mA高灵敏度RCD。文章通过对比表总结三大系统的安全性、成本及适用场景,为电气安全设计提供实用参考。

2301_81299416的博客 1742

微搭低代码实现用户登录及注册功能

在小程序开发中,我们可以拿到微信用户的openid,openid可以作为用户的唯一标识,在查询数据的时候可以进行数据过滤实现查询自己提交的数据。那微搭中是否也有openid这个概念,可以获取用户自己提交的数据呢? 答案是肯定的,那要怎么去做呢?思路是先创建一个数据源方法,在数据源中返回openid,然后低代码中可以调用数据源的方法并且赋值给全局变量,这样在后续的业务中从全局变量就可以获取openid了,方便做数据权限的控制。 为了实现这个目的,我们从创建数据源开始。 创建数据源 我们先创建一个用户管理的数据

低代码布道师的博客 2995

猿人学第四题-雪碧图、样式干扰(第一届)

【代码】猿人学第四题-雪碧图、样式干扰(第一届)

fre_free的博客 1065

流体动力学仿真软件:XFlow_(20).案例研究:声学仿真

在流体动力学仿真软件中,声学仿真是一个重要的应用领域。通过数值模拟,工程师和科研人员可以预测和分析流体系统中的声学现象,如气动噪声、声波传播和声场分布。这些仿真结果对于优化设计、降低噪声水平和提高系统性能具有重要意义。本节将详细介绍如何在流体动力学仿真软件中进行声学仿真,包括声学模型的选择、参数设置、后处理分析等内容,并通过具体的案例来说明这些步骤。

kkchenjj的博客 902

【非常困难】 猿人学web第一届 第10题 js 混淆 - 重放攻击对抗

但是经过上面的 Hook 重写之后 Function.prototype.constructor.prototype 就不是一个方法了,会变成一个对象。_yrxCxm[‘f’ + ‘g’ + ‘a’ + ‘E’] 的值和 _yrxVhD() 方法中的值一致。_yrxCxm[‘f’ + ‘g’ + ‘a’ + ‘E’] 的值和 _yrxVhD() 方法中的值一致。方法中对应的时间戳是动态变化的,包括后面的全局变量 _yrxCxm 的值也是动态变化的。

m0_69843492的博客 1770

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

猿人学web端爬虫攻防大赛赛题第13题——入门级cookie

这里cookie值跟上面第一张图片中的不相等,是因为服务器有session时长,加载页面一小段时间后,我们再右键查看源码其实会重新获取session,也就是重新从第一次请求开始,所以返回的内容就是设置cookie的代码。刷新第一页,仔细研究发现里面有三次请求名为13的请求,根据题目提示cookie关键字,所以主要留意请求和响应的cookie值。在这三个请求的响应中,可以看到,第一次请求看不到返回了什么,第二次请求返回页面结构,第三次请求是返回数据。首先写第一次请求,是访问。这个是在哪里设置的。

weixin_45091564的博客 1078

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

【非常简单】 猿人学web第一届 第13题 入门级 cookie

查看数据接口 https://match.yuanrenxue.cn/api/match/13请求参数只携带了 page 页码请求时需要携带 cookie yuanrenxue_cookie字段在请求的时将 cookie 中对应的 yuanrenxue_cookie 字段删除勾选事件监听断点中的脚本断点后刷新页面即可看到 cookie 生成的位置这段代码是在 script 标签里的,可以用 正则匹配使用 subprocess 输出 cookie 信息即可对应 python 代码。

m0_69843492的博客 500

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

猿人学第一题

可以观察到,只有m的值是不同的,cookie和header中的数据是没有变化的,那么现在只用研究这个m即可,那么现在就打开堆栈看看这个值是怎么生成的。

2301_79699440的博客 280

JS逆向|猿人学逆向反混淆练习平台第13题加密分析

本文章中所有内容仅供学习交流,不可用于任何商业用途和非法用途,否则后果自负,如有侵权,请联系作者立即删除!原来是设置了cookie,那就很简单了。欢迎加入知识星球,学习更多AST和爬。三.编写Python代码。

Python3 爬虫实战 1:应对特殊字体,爬取猫眼电影实时排行榜 801

猿人学Web端爬虫攻防大赛第十题 与某数ast+jsdom方法

猿人学Web端爬虫攻防大赛第十题 与某数ast+jsdom方法 参考文章: 1.猿人学爬虫攻防赛 第10题 2.某数和某5秒-反混淆动态注入调试的一种方案 样品网址:https://match.yuanrenxue.com/match/10 打开首页后直接就有5处混淆,第一处是某数套 jsjiami.com.v6,然后后面4处为obfuscator 首先还原这一段jsjiamiv6的混淆,还原后的结果如下 let yuanrenxue_36 = ''; var yuanrenxue_59 = 968; f

zjq592767809的博客 2654

WASM进阶-猿人学第二十题

加密步骤其实只有这一步,len0 就是 content 的长度,下面几步是从内存中获取值,进入到 wasm 内部查看 sign函数。文件地址:https://match.yuanrenxue.com/api/match20/wasm。此时发现 content 长度发生变化,看一下长度,大概是经过了md5加密,那就先来看一下明文是啥?就是在 content 加了一段盐值,经过多次调试发现,盐值不变。一直往下滑,直到看到 md5 字样,然后再次进入函数内部。没办法,只能硬着头皮去肝wasm源码了,先上一段。

qq_40734108的博客 1116

【JavaScript 逆向】猿人学 web 第十八题:jsvmp,洞察先机

猿人学练习平台 web 比赛第十八题:jsvmp,hook,插桩,AES 加密

Yy_Rose的博客 3826
上一篇: 【猿人学WEB题目专解】猿人学第12题
下一篇: 【Python爬虫】有道翻译新旧API接口
user_from_future
博客等级 码龄5年 4066粉丝 115原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值