打开网站
直接尝试上传小马
发现上传失败,尝试禁用JS弹出错误
也失败了,还没查看上传目录下的文件信息的,查看一下上传目录下的文件
嗯,竟然有个flag.php,尝试预览
失败,查看.htaccess
概述来说,htaccess文件是Apache服务器中的一个配置文件,它负责相关目录下的网页配置。通过htaccess文件,可以帮我们实现:网页301重定向、自定义404错误页面、改变文件扩展名、允许/阻止特定的用户或者目录的访问、禁止目录列表、配置默认文档等功能。
这里主动实现了将此文件名的GIF解析为PHP文件,看到这一字符串好熟悉啊,尝试MD5解密
接出来是test,我们只要将上传文件的文件名为test就可以解析为php了
再次尝试上传
改MIME类型来绕过
看来还检测了文件头,加上GIF的文件幻数:GIF89a?
这里禁止了接受请求类型,我们将$_POST改为$_REQUEST
<?php echo 1; ?> 正常写法
<? echo 1; ?> 短标签写法,5.4 起 <?= 'hello'; === <? echo 'hello';
<% echo 1; %> asp 风格写法
<script language="php"> echo 1; </script> 长标签写
这里我们可以用php其他的标签来绕过
此方法失败,尝试制作图片马
上传成功
直接尝试post数据phpinfo()失败,应该是二次渲染将小马删除了,重新上传一个gif再下载看看两者区别
这里再上传的文件名不能为test,因为服务器会将此文件解析为php类型,我们无法再来下载
果然将文件末尾的小马删除了,我们将小马重新插入未修改的部位
重新上传
尝试传一个phpinfo();来验证小马可用性,成功
直接蚁剑连接
得到flag