DVWA之File Upload(文件上传漏洞)

      由于对上传文件的类型、内容没有进行严格的过滤、检查,使得攻击者可以通过上传木马获取服务器的webshell权限,因此文件上传漏洞带来的危害常常是毁灭性的。

      下面对不同级别的代码进行分析。

一:LOW

1、服务器端核心代码

Your image was not uploaded.
'; } else { // Yes! echo "
{$target_path} succesfully uploaded!
"; } } ?>

        可以看到,服务器对上传文件的类型、内容没有做任何的检查、过滤,存在明显的文件上传漏洞,生成上传路径后,服务器会检查是否上传成功并返回相应提示信息。

        文件上传漏洞的利用是有限制条件的,首先当然是要能够成功上传木马文件,其次上传文件必须能够被执行,最后就是上传文件的路径必须可知。

 2、漏洞利用

(1)首先先上传一个一句话木马hack.php,参数名(一句话木马口令)为hack

上传成功,并且返回了上传路径

DVWA之File Upload(文件上传漏洞)_第1张图片

 3、这时我们就可以使用中国菜刀这个工具了,右键添加

DVWA之File Upload(文件上传漏洞)_第2张图片

4、然后中国菜刀就会通过向服务器发送包含hack参数的post请求,在服务器上执行任意命令,获取webshell权限。可以下载、修改服务器的所有文件。

DVWA之File Upload(文件上传漏洞)_第3张图片

5、获取权限后,把cmd上传,此时是没有权限的(whoami查看权限),需要提权

补充:以下这几种命令有admin权限才能执行

           1、net user 查看用户

           2、net user 123 123  /add添加用户

           3、net localgroup Administrators 123 /add  把新建的123账号添加到管理员组

           4、net  start  telnet    开启靶机的telnet服务(利用telnet登录,使用ftp把nc下载到靶机并运行,这样就建立了后门)

           3、Systeminfo 查看计算机的信息(操作系统,位数,补丁情况等)

           4、Tasklist /svc 查看计算机的进程

           5、Netstat -ano 查看计算机的网络端口连接​​​​​​​

           4、在网站提权中我们经常会使用到这些工具Churrasco.exe (巴西烤肉)  cmd.exe  nc.exe  pr.exe  360.exe 等等。

如果说webshell不能执行cmd那么我们就需要上传一个cmd,如果说上传cmd后不能添加用户那么我我们就需要上传以上软件

如:上传成功后C:\WINDOWS\system32\pr.exe “net user 123 123 /add”。

DVWA之File Upload(文件上传漏洞)_第4张图片

二:Medium

1、服务器端核心代码

Your image was not uploaded.
'; } else { // Yes! echo "
{$target_path} succesfully uploaded!
"; } } else { // Invalid file echo '
Your image was not uploaded. We can only accept JPEG or PNG images.
'; } } ?>

可以看到,Medium级别的代码对上传文件的类型、大小做了限制,要求文件类型必须是jpeg或者png,大小不能超过100000B(约为97.6KB)。

2、漏洞利用

(1)组合拳(文件包含+文件上传)

 因为采用的是一句话木马,所以文件大小不会有问题,至于文件类型的检查,尝试修改文件名为hack.png

上传成功

DVWA之File Upload(文件上传漏洞)_第5张图片

(2)这时打开中国菜刀

DVWA之File Upload(文件上传漏洞)_第6张图片

虽然成功上传了文件,但是并不能成功获取webshell权限。

(3)中国菜刀的原理是向上传文件发送包含hack参数的post请求,通过控制ack参数来执行不同的命令,而这里服务器将木马文件解析成了图片文件,因此向其发送post请求时,服务器只会返回这个“图片”文件,并不会执行相应命令。

(4)让服务器将其解析为php文件,抓包修改文件类型,上传hack.png文件,抓包。

DVWA之File Upload(文件上传漏洞)_第7张图片

尝试修改filename为hack.php。

DVWA之File Upload(文件上传漏洞)_第8张图片

上传成功。上菜刀,获取webshell权限。

方法二:截断绕过规则。

在php版本小于5.3.4的服务器中,当Magic_quote_gpc选项为off时,可以在文件名中使用%00截断,所以可以把上传文件命名为hack.php%00.png。可以看到,包中的文件类型为image/png,可以通过文件类型检查。

DVWA之File Upload(文件上传漏洞)_第9张图片

服务器会认为其文件名为hack.php,顺势解析为php文件

                                                                                               参考文章:http://www.freebuf.com/articles/web/119467.html

你可能感兴趣的:(渗透测试)