uploads labs WRITEUP
一、个人信息
个人名称:小龙
个人排名:无
二、解题情况
前10道题
三、解题过程
文件上传漏洞
上传文件时,目标服务器对上传的文件内容及后缀没做严格的过滤,对文件存储的路径没做限制。
文件上传漏洞的条件
1、木马文件(php、jsp、asp、exe)
2、可以绕过目标服务器检测成功上传
3、可以获取到上传路径,上传路径具备可执行权限
可以写一句话木马
<?php
eval($_POST['cmd']);
?>
pass01
首先 先上传.php文件,发现提示“请上传.jpg.png.gif格式的文件”

用bp抓包,猜测是前端验证,则我们禁用前端js

禁用js,尝试上传,发现上传成功


pass02
上传b.php,用Burp抓包并将数据包发送至Repeater模块,发包后提示文件类型不正确

分析数据包,猜测可能是对Content-Type类型有限制


修改Content-Type: image/png,重新发包

pass03
尝试上传3.php,发现黑名单提示:不允许上传.asp,.aspx,.php,.jsp后缀文件!
在某些特定环境中某些特殊后缀仍会被当作php文件解析 php、php2、php3、php4、php5、php6、php7、pht、phtm、phtml。
pass04
发现有一个文件是没有过滤的,即上传中常用到的 .htaccess文件
<FilesMatch "1.png">
SetHandler application/x-httpd-php
</FilesMatch>
先上传.htaccess再上传1.png,访问图片利用HackBar构造post请求,成功访问。
pass05
上传.php文件发现被禁用,查看源码后,寻找思路。

可以用bp抓包,改一下文件名,改成1.php. .

上传成功
pass06
查看提示发现文件大小写过滤不严谨,可以绕过

上传成功
pass07
直接看代码,发现没有收尾去空。上传php文件,抓包在后面加空格。
pass08
查看源码,发现没有去除文件后的点
直接bp抓包,改文件名为1.php.

pass09
发现没有去除字符串::$DATA
直接bp抓包,修改文件名为1.php::$DATA


pass10
上传文件名为 .php. .(点+php+点+空格+点)

可以用bp抓包,改一下文件名,改成1.php. .
上传成功!

281

被折叠的 条评论
为什么被折叠?



