猿人学第二届第一题

本文讲述了作者在第二届猿人学web端攻防赛中,通过抓包分析发现逆向点,逆向请求体的token,利用xhr断点和浏览器控制台逐步解密主体加密函数的过程,涉及到了环境补全和js代码修改。
摘要由CSDN通过智能技术生成

1 - 初识 - 第二届猿人学web端攻防赛icon-default.png?t=N7T8https://match2023.yuanrenxue.cn/topic/1通过翻页抓包分析很容易找到逆向点是请求体的token,另外翻页时除了数据包还请求了一个图片包,通过fidder抓包或者python逆向可以看到是返回一个时间戳,可能有用

既然是逆向请求体的token,那就直接下包含url的xhr断点

很轻松的断到加密点,往上跟两步就到了生成token值的地方。

可以看出加密点主要由f来的,而f是由a生成的,而a是函数传的参数。

我们尝试把全部代码扣下来,把a变成全局变量,放到浏览器控制台里运行下,看一看这个函数是否执行了,能不能拿到变成全局变量的a。

可以看到,函数被执行了。那么就可以把主体加密函数拿出来,外部调用了。

编写主体加密函数并验证结果

第一个错误,浏览器里跟进去看看。是在一i定义的变量里,而且定义i变量的这个函数里面没有其它变量定义,和影响其它变量值的逻辑运算。按住ctrl点下i发现只有一处调用了i,那就好办了,在调用i的地方打上断点看i的值是多少,刷新几次看是否变化。

i值是定值没有变化,回头看i定义的地方也发现0xbb76994f在控制台里运行就是3145111887,那就好办了,直接把定义i函数改写。

改写后来到这个错误,这个一看就是请求发包,直接删掉!这一部完事拿到了结果,但是不对

放浏览器里运行下可以拿到正确结果,那就说明缺少环境。这种ob混淆是不会混淆常用的window,document,navigator等环境的。先搜一个,看都用了什么环境

搜window到这儿delete window和window=0x0,这在浏览器里是无效的,那么直接把这两行代码删掉。

补环境我习惯直接上三件套,补完用到的环境发现还是没拿到正确结果,别灰心,我们的代码在浏览器里是可以拿到正确结果的,可能有环境里的元素被调用了,我们上下代理试试。

获取了location里href的值,直接控制台里运行location.href,补上!

补上了href就大功告成了。幸福来的太突然。

js代码就3000多行,改写了一处js,补了几个环境,整体来看这个js逆向还是比较简单的。

剩下的就是py里调用了,这里就不写了。记得把写死的时间戳删掉,get_data返加的j就是请求体,可以直接在py里让data=这个返回值。

对于您提到的错误TypeError: list indices must be integers or slices, not str,这是因为您在访问列表中的元素时使用了字符串作为索引,而列表的索引必须是整数或切片类型。解决这个错误的方法是使用整数或切片来访问列表中的元素。 关于您提到的猿人js逆向的问,我需要更多的信息才能为您提供具体的答案。对于爬虫编写,您可以使用Python的各种库(如Requests、BeautifulSoup、Scrapy等)来获取网页的内容,并进一步解析和处理。您可以使用这些库发送HTTP请求获取网页内容,然后使用解析库来提取您需要的数据。 爬虫编写的一般步骤如下: 1. 导入所需的库 2. 发送HTTP请求获取网页内容 3. 使用解析库解析网页内容 4. 提取所需的数据 5. 进行数据的进一步处理和存储 您可以根据具体的需求和网站的结构进行相应的编写和调试。如果您需要更具体的帮助,请提供更多的信息。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [Python:TypeError: list indices must be integers or slices, not str报错解决及原理](https://blog.csdn.net/hhd1988/article/details/128031602)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* [Python BeautifulSoup [解决方法] TypeError: list indices must be integers or slices, not str](https://download.csdn.net/download/weixin_38590567/14871394)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值