2024年春秋杯网络安全联赛冬季赛wp-1.19
[TOC]
web
easy_php
考点:文件上传绕过,截断,源码审计
打开网站后,可以下载源码,先下载源码,然后再扫一下网站目录
配合源码审计,审计过程省略。其中在文件上传的目录下已经有文件了,再结合提示可以知道,不用再自己上传文件。
那么就需要触发文件,看这里代码
可以知道在/file.php页面中可以进行url的get传参,然后会将参数值过滤后进行高亮,触发反序列化链。
但是这里的过滤中,是f1ag而不是flag,所以其实没有过滤flag关键词。
因此结合源码,直接构造payload:
1 | ?file=/flag |
1 flag{a16dcb7549915546893a27a6d7927615}
easy_code
考点:利用PHP特性绕过,filter伪协议
访问/robots.txt 可以看到有 gogogo.php
ctfer 参数有三个检测,只需要用科学计数法,PHP 会自动四舍五入
1 | ctfer=6.66999999999999999999999999999999999999999e2 |
Hackbar 里设置 cookie 为 pass=admin
Include 那里使用 php://filter 配合 convert.iconv 修改字符集使用
1 | ile=php://filter/convert.iconv.utf-8.utf-16le/resource=read.php |
misc
音频的秘密
考点:知道部分明文破解压缩包
下载附件解压,是一个wav文件,根据提示知道,是deepsound加密,且密码为弱口令。
用deepsound解密,弱口令密码一个一个试,最后密码为123,得到一个flag.zip
提取出来,发现需要密码,压缩包内是一张图片。
用各种工具爆破,发现长时间都没爆破出来,最后赛后复现,看别人wp才知道,明文加密除了使用完整明文文件外,也有一种使用一部分明文文件的爆破方式。
得到一张png图片,在rgb处发现flag
flag{Y1_Shun_jian_Fa_ZE_Dian_Fu}
Infinity
考点:套娃压缩包,解码
下载压缩包解压,里面是张png图片,放进010editor查看,发现有嵌套文件。
进行文件分离,得到一个压缩包。
压缩包里有zip,tar,7z三种,且压缩包名字感觉像是某种编码。
写脚本直接解压并记下文件名。
1 | import zipfile |
解压后得到一个SeCr3t.txt,文件内容是Inf1nityIsS0CoOL。
用脚本对这些字符串进行处理,发现在逆序的时候能根据提示进行解码。即代码中的第二个print。
1 | data = open("C:\\Users\\Lucky\\Desktop\\春秋杯\\misc\\Infinity\\flag.txt", "r").read() |
根据提示知道,是BASE58-Ripple+
SM4-ECB,sm4中的key改为上述文件内容,得到一张条形码
由于下载下来的图片是很暗的,很难直接识别,所以要先加白底。简便方法就i是直接预览加截图保存,然后扫描截图。
flag{a72dd260-f64d-4116-ab50-b26b40d69883}