Tokeii 发表于 2024-2-25 08:26

2024年吾爱破解新春红包题之Web系列全部WriteUP

### flag1
视频BV1ap421R7VS 2s~4s 后面的波点图 仔细瞅
flag1{52pj2024}
### flag2
视频BV1ap421R7VS 5s~9s二维码拼凑一下,扫不出来用微信扫。

解码之后为一个url地址:https://2024challenge.52pojie.cn/

浏览器打开,在控制台-网络下看响应标头,有一个x-Flag2:
flag2{xHOpRP}

### flag3
视频BV1ap421R7VS开头0~1s 瞅就完事了
flag3{GRsgk2}

### flag4
还是前面提到的控制台,下面有一个flag4_flag10.png,保存图像
直接瞅
flag4{YvJZNS}

### flag5
查看https://2024challenge.52pojie.cn/index.html的源代码,可以看到有flag5与flag9的提示
将红框处的color改为其他颜色便于观察!

拖动控制台侧边栏,可以展示出flag5与flag9

flag5{P3prqF}

### flag6
从之前解码的网页中进入flag6页面,有一个计算flag6的button,看源代码,一眼爆破md5明文,直接cmd5查出结果

flag6{20240217}

### flag7
视频后面给了个github地址https://github.com/ganlvtech/52pojie-2024-challenge
点进去有个删除不小心提交的flag内容,修改记录里面有flag7

flag7{Djl9NQ}

### flag8
打游戏买一个吧
flag8{OaOjIK}

### flag9
flag5后续

flag9{KHTALK}

### flag10
前面提到的flag4后续步骤操作图片,使用stegSolve Xor 得到flag10

flag10{6BxMkW}

### flag11
一眼拼图,找到flag11.png保存到本地使用gaps拼图
因为图片对比度不咋地,可以进行简单调整一下
我调整成这样

gaps命令
`gaps run flag122.png solution.png --generations=40 --population=320 --size=30 --debug
`
测试了几遍都无法拼出可读的结果,但是开着debug可以看一些中间过程猜出flag


flag11{HPQfVF}

### flag12
检查输入条件是否满足:` secret * 1103515245 % 2**32 == 1`
配合gpt做出来的,放出解题脚本
```python
# 定义模数
modulus = 2**32
# 定义乘数
multiplier = 1103515245
# 寻找满足条件的var0,使得 (var0 * multiplier) % modulus == 1
# 使用扩展欧几里得算法
def extended_gcd(a, b):
    if a == 0:
      return (b, 0, 1)
    else:
      g, y, x = extended_gcd(b % a, a)
      return (g, x - (b // a) * y, y)
# 计算1103515245模2^32的乘法逆元
g, x, y = extended_gcd(multiplier, modulus)
if g != 1:
    print("逆元不存在")
else:
    mod_inverse_var0 = x % modulus
print(mod_inverse_var0)
```
结果为 4005161829,提交该值,获取flag
flag12{HOXI}

### flagA
这题比较抽象,在网页2024challenge.52pojie.cn/index.html 中在cookie中会生成flagA,但是是加密的
注意看有一个UID的api

返回的结果是你的uid,这里就猜一猜有没有可能这个cookie里面的uid的加密方式与flagA加密方式相同,且解密方式也相同
复制这个包的curl丢到postman里面
将cookie的uid值改为flagA的值,发送成功获取flagA


### flagB
买一次v我50可以知道这题提示是溢出
然后可以看得出来这个flagB购买价格很抽象
我们可以尝试以2的指数倍进行购买,写一个python脚本
```python
import requests
url = "https://2024challenge.52pojie.cn/flagB/buy_item"
for i in range(999):
    payload = f'shop_item_id=5&buy_count={2**i}'
    headers = {
    'Accept': '*/*',
    'Accept-Language': 'zh-CN,zh;q=0.9,en;q=0.8,en-GB;q=0.7,en-US;q=0.6',
    'Connection': 'keep-alive',
    'Content-Type': 'application/x-www-form-urlencoded',
    'Cookie': *your cookie*,
    'Origin': 'https://2024challenge.52pojie.cn',
    'Referer': 'https://2024challenge.52pojie.cn/flagB/index.html',
    'Sec-Fetch-Dest': 'empty',
    'Sec-Fetch-Mode': 'cors',
    'Sec-Fetch-Site': 'same-origin',
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/122.0.0.0 Safari/537.36 Edg/122.0.0.0',
    'sec-ch-ua': '"Chromium";v="122", "Not(A:Brand";v="24", "Microsoft Edge";v="122"',
    'sec-ch-ua-mobile': '?0',
    'sec-ch-ua-platform': '"Windows"'
    }
    response = requests.request("POST", url, headers=headers, data=payload)
    print(response.text)
```


这时候可以返回网页获取flagB了

### flagC

看着一脑袋包,其实很简单,

这个题目每个人不一样,就看一下显示的种类正确有几个,比如我这个图卡车和轮船正确
位置就用这两个种类的来判断即可
我们就用这两个来p图,应该是4个就可以,我的图如下,也可以正常获得flagC

a2258555 发表于 2024-2-25 10:02

不明觉厉的感觉

Edison3306 发表于 2024-2-28 09:22

那个机器人是怎么配置的,出一期

liyj2117 发表于 2024-3-22 08:01

感谢分享
页: [1]
查看完整版本: 2024年吾爱破解新春红包题之Web系列全部WriteUP