有段时间没有练习了,趁着周末做一下安恒月赛,这次的月赛题目大部分比较简单。
PWN和CRYPTO比较生疏就没做。
0x01 WEB——ezupload
题目是最常规的上传绕过,这里可以直接修改Content-Type和添加图片文件头来绕过检测。
另外,上传的文件后缀会被修改,如上传:eval.php
,最后会成为eval.gif,这里可以通过修改文件名为eval.php.php
来绕过,如图:
上传后直接命令执行拿到flag:
0x02 WEB——Mynote
这道题相对也比较简单一些
注册一个账号后,进入功能页面。可以上传文件、提交note等
上传可以修改type绕过,但是没有给出上传后的地址。
这里的笔记功能还存在XSS问题,但是不能打谁的Cookie,此题貌似XSS没什么用。
在查看图片页面,可以看到文件上传的图片,这里仔细观察,可以看到img标签是通过data:image
的base64数据格式展示图片的。
查看cookie,发现多了一个base64编码后的内容,解码得到一个PHP数组的序列化结果,而结果就是刚刚上传的文件名:
将eval.php
改成index.php
,base64编码后提交,得到报错,直接拿到上传路径:
接下来同样是直接访问WebShell,命令执行拿flag:
0x03 WEB——never give up
这题考察了MongoDB的点,如果没想到的话会没有思路。
题目是一个简单的页面,通过参数title传入任意值,会在当前页面上输出title的内容。
一开始觉得可疑的是源代码中有一大段压缩过的JS代码,但是发现是Jquery的JS代码,通过查看版本号,Diff对比了网上此版本的Jquery代码,发现并没有异常:
之后测试了很久,RPO、XSS等等,发现都没法利用,果断直接上AWVS开始漏扫。
意外收获:
最终利用MongoDB注入的格式,题目直接返回flag:
0x04 RE——太复杂了
这是一道简单的APK安卓逆向,逆向结果中的数组直接通过ASCII编码转为字母即可,最后凯撒解密拿到flag
0x05 RE——reverseme
这题更简单,直接字符串拼接,如图:
0x06 MISC——only wireshark
也是一道简单的流量分析,直接过滤http协议,导出post内容的图片即可,查看图片末尾即是flag
0x07 MISC——流量中的线索
这也是一道简单的题目,同样过滤http协议,看到返回的base64编码的内容:
对内容解密后的hex写入文件,拿到一个jpg图片,flag在图片中
最后,虽然这次题目总体简单,但是还是学到一些东西。
并且提醒自己,PWN和CRYPTO要提高了。