Tokeii 发表于 2023-2-6 07:16

吾爱破解新春红包题之Web系列解题过程(writeup)

本帖最后由 枫树恋上秋 于 2023-2-6 17:20 编辑

👋 大家新年好,活动结束了,按照传统来分享一下Web系列题目的解题过程/思路。

😊 对于经常打CTF的师傅们来说这次Web题目(其实大多数为Misc)其实还是非常简单的。以下为我当时解题的整体路线,供大家参考。



😀 下面正式开始分析,先是视频相关

**📥** 我们可以先将视频下载下来以便于后面分析(将网址中的bilibili改为ibilibili即可下载视频)

---

**⛳ Flag6 (解题工具:**(https://github.com/ribt/dtmf-decoder)**)**

出现在视频第3秒,属于按键音(**DTMF**),很容易可以听出来按了6次,正好对应flag格式中的6个*,flag6{******}。

使用Audition将这一段音频提取出来保存为wav文件,这里命名为222.wav。



```powershell
#使用前面提供的工具,适当的设置下容错(-t)
python3 .\dtmf.py -t 25 .\222.wav
```



得到**flag6{590124}**

---

**⛳ Flag1**

**视频00:18中读出 flag1{52pojiehappynewyear}**

**⛳ Flag3**

**视频00:25右下角出现的iodj3{06i95dig} 凯撒密码位移-3位得到 flag3{06f95afd}**

---

**⛳ Flag2 视频00:22中的二维码,随便找一个解析工具 得到flag2{878a48f2}**



---

**⛳ Flag5**

00:31有电报声 使用Audition查看。易得



```
..-. .-.. .- --. ..... . .- .. - //摩斯密码
```

    解码得到FLAG5EAIT 转换为flag格式为flag5{eait}

---

**⛳ Flag9**

仔细听视频结尾有一段听不明白的语音,在AU中选中范围进行反向(Ctrl+R)



仔细听可以得到**flag9{21c5f8}**

---

**⛳ Flag12**

单图盲水印,取视频灰色背景那一段导入**imagein**或者其他工具|



得到**flag12{3ac97e24}**



---

**⛳ Flag4**

出题人B站空间签名档 **ZmxhZzR7OWNiOTExMTd9** 进行base64解码即可得到**flag4{9cb91117}**



---

**⛳ Flag8**

在Audition中使用频谱图查看整个视频的音频部分可以很明显的发现**flag8{c394d7}**



---

**🌐接下来就是网站部分**

**⛳ FlagB**

直接拿到了网站又无法访问,可以去查找一下网站的dns解析,最后可以发现在txt解析中有以下内容

```
"_52pojie_2023_happy_new_year=flagB{substr(md5(uid+\"_happy_new_year_\"+floor(timestamp/600)),0,8)}"
```



用python将flagB解出来

```python
from math import floor
from time import time
from hashlib import md5
a = floor(time()/600)
UID = '570826' # 自己的UID
data = str(UID)+'_happy_new_year_'+str(a) # 拼凑字符串
md50_8 = md5(data.encode()).hexdigest()[:8] #计算md5,取前8位
flagB = f'flagB{{{md50_8}}}'
print(flagB)
```

---

**⛳ FlagA**

直接访问(https://2023challenge.52pojie.cn/)**没有找到对应的地址,**在视频的00:34有提示又与主站处于同一台服务器,这里可以通过修改hosts,将ip对应至(http://2023challenge.52pojie.cn/)

Hosts文件一般位于”**C:\Windows\System32\drivers\etc”** 目录下

在微步云等平台查询一下52pojie.cn主站的域名解析[**52pojie.cn-域名情报 (threatbook.com)**](https://x.threatbook.com/v5/domain/52pojie.cn)

按如图所示 填入hosts文件中后保存,即可访问网站



现在就可以直接访问(http://2023challenge.52pojie.cn/)

在网站Header中可以找到关于flagA的相关提示

**X-Dynamic-Flag:** flagA{Header X-52PoJie-Uid Not Found},需要在Header中添加

X-52PoJie-Uid:uid 参数



我这里使用Postman进行讲解,在Header中添加相关参数后发送,可以再返回的Header中发现flagA



---

**⛳ Flag7**

网页源代码68行,一串二进制数,去掉空格进行二进制转字符串

简单几行python代码可以得到flag:**flag7{5d06be63}**

```python
import libnum
data = '01 1 001 1 001 1 01 1 0001 1 00001 01 1 001 1 1 001 1 0111 011 1 101100 1 1 0 10 1 011 0 01 0000 1 10000 001 1 01 1 0 011 0 00 10 011 0 010 100 1 1011 000 1 1 0 0 11 01111101'
data = data.replace(' ','')
data = libnum.b2s(data)
print(data)
#b'flag7{5d06be63}'
```

---

**⛳ Flag 10**

脑电波没对上,应该还是在这串二进制里面

---

**⛳ Flag11**

网页源代码69行,二进制数下方,很明显的**brainfuck**编码,提供一个解题地址

(http://www.hiencode.com/brain.html)

得到**flag11{63418de7}**

---

**⛳ FlagC**

在网页源代码第60行提示需要进入/login界面,进入之后发现输入框为disabled状态



这里只需要删掉这个disabled,双击后删除即可

输入UID后提交提示不是admin用户,这时候查看cookie,有一个jwt_token



复制放到(https://jwt.io/)解析一下,将右侧的user改成admin,然后将新生成的jwt_token 复制回cookie处后刷新网页即可获得flagC


603185 发表于 2023-2-6 08:28

flagC那个不知道为什么,我只把user改成admin没过,后来加了kid=123456才过的(
盲水印那个flag应该只是单纯的傅里叶变换,不一定要用现成的工具

AdmiMVP1 发表于 2023-2-6 07:47

感谢分享,先收藏学习。。

knight0531 发表于 2023-2-6 07:56

先收藏,一步步的消化内容。。。。楼主辛苦了。

zhoudl 发表于 2023-2-6 08:03

感谢分享,先收藏学习

jackyyue_cn 发表于 2023-2-6 08:24

楼主很用心~学习了 原来藏着这么多玄机

随梦期初 发表于 2023-2-6 08:37

感谢分享,先收藏学习

Tokeii 发表于 2023-2-6 08:40

603185 发表于 2023-2-6 08:28
flagC那个不知道为什么,我只把user改成admin没过,后来加了kid=123456才过的(
盲水印那个flag应该只是单纯 ...

是的,只是有现成工具拿着用了

侃遍天下无二人 发表于 2023-2-6 08:57

flag8是直接显示在频谱图了吗

d199212 发表于 2023-2-6 08:57

学习了,很多都没找到....
页: [1] 2 3
查看完整版本: 吾爱破解新春红包题之Web系列解题过程(writeup)