吾爱破解2023新年解题活动
去年参加了吾爱的春节解题活动,解出了re的初、中级题目,今年没做出来,看来去年一年不仅没学到啥东西,反而还退步了。但我是干渗透的呀,re做不出来,web还拿不下?说干就干,逮着web题就是一顿输出,却发现web不是我认识的那个web了。
今年的web题,分位三个难度,每个难度提交flag1~4和一个动态flag(根据时间变化)。主要是跟着放在b站的视频走,我刚开始看,真是丈二和尚————摸不着头脑,后来静下心来琢磨,还是有切入点的,下面我就介绍下我找到的flag。
解题
flag1
这个没啥说的,视频里面直接给出来了。
flag4
这个是在b站视频联合创作者@GanlvTech个人详情找到的ZmxhZzR7OWNiOTExMTd9
,一串base64的字符,直接解码就能得到了
flagA
这个对于搞渗透的来说算是洒洒水了,视频提示域名2023challenge.52pojie.cn
正常运行,我们却打不开页面,不假思索就想到了host碰撞相关的知识,即根据header头的host来进行页面返回。具体操作如图所示。
接下来,我们看到返回包的header,有一句X-Dynamic-Flag: flagA{Header X-52PoJie-Uid Not Found}
,说明缺少X-52PoJie-Uid
作为请求包的header,加上即可,值为自己的吾爱UID,可以看到返回包说明了flagA有过期时间,而且有效期还不长。
flag5
在视频中有一段滴滴滴的电报声,我没接触过misc,但能想到的就只有摩斯电码加密了,于是网上找了摩斯电码解密图,将视频0.5倍速放,听了N遍后听出来了,要注意的是flag内柔要改成小写,这次也算是当了一回特工了。
flag6
视频开头有一段拨号音频,对应画面有个flag6提示,我起初决定自己在网上找参考视频用耳朵对比出来,但奈何这9种拨号音太相似了,我耳朵太木,分辨不出来,后来在网上找到了其他misc的wp文章,也是拨号音,有一个叫做dtmf2num.exe的工具,能直接识别出来。
前期工作需要将音频分离出来,截取拨号音那一段,然后在网上找个在线转wav的页面转成wav格式,然后直接执行就可以了。
flag7
在2023challenge.52pojie.cn
页面里有一段奇怪的二进制数据,刚开始以为是转成10进制,然后转成string,瞅了两眼觉得不合理,想了好久没想到,决定整个去掉空格,放在utools的编码转换里试试,然后尝试分割,没想到真试出来了,分割是8个二进制位一组。而且这段二进制原本格式的最后一组就是}
的二进制编码。
flagB
这个我没有做出来,在2023challenge.52pojie.cn
的页面内有注释提示,让看看DNS信息,于是用nslookup
看了下。
1 | nslookup -type=TXT 2023challenge.52pojie.cn |
果然看到了flagB的信息,我看着像是mysql的函数,跑了几遍,都错误,没做出来。等公布解法了再填坑。
flag11
这个是和flag7相近的位置,属于brainfuck加密,直接丢进去解密即可。
flagC
这个也是洒洒水。在2023challenge.52pojie.cn
页面有个登陆跳转,将请求包的url换成/login
,返回了登陆界面。
然后改为POST方法,传接口参数uid
,可以看到返回包有set-cookie
信息,并且给出了302跳转到/home
。
将得到的cookie加入请求头,访问/home
页面,却返回不是admin。
得到的cookie是JWT数据,将它base64解码,可以看到内容,将role改成admin,再次base64编码,替换cookie,发送请求,即可得到flagC。
总结
总的来说,这次web活动很有趣,眼睛、耳朵、脑袋都动起来了。虽然解不出题很不甘心,但面对如此有趣的题目,更值得的是体会其中的精巧,感受程序世界与现实世界相结合的浪漫。过节活动的目的应该是乐在参与,不论成功或是失败,只要能够感受到内心的满足与快乐就足够了,所以我认为今年的web题出的特别好。