题目: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
必填 您当前尚未登录。 登录? 注册
必填(保密)