题目:2019安洵杯-easy_web
题目打开之后,链接变为/index.php?img=TXpVek5UTTFNbVUzTURabE5qYz0&cmd=
将img的参数通过base64解码两次,再hex解码一次,得到555.png ,应该就是这张图片的文件名,访问一下果然是:
那么尝试把它换成背景图片bj.png ,发现源码里的base64已经是bj.png 的了:
换成index.php 就能得到base64编码后的源码,如下:
分析源码,$cmd 处过滤了很多linux命令,下面提供了反引号,可以执行命令:
所以只要绕过if处的md5相关即可,方法如昨天的题目一样,使用MD5碰撞:
但是没法读取flag,因为既限制了flag字符,也限制了读取命令。
这里有一个小trick,即linux命令是允许在其中加 的,也就是:
所以使用cat/flag,成功读取:
ez.
本文作者:白袍
本文为安全脉搏专栏作者发布,转载请注明:https://www.secpulse.com/archives/146892.html