一次对于DVWA上传漏洞的渗透练习

加入渗透小组后的首次任务是搭一个靶机并进行提权,由于最近的事情比较多,拖到现在,给队友和学长先说一声抱歉。

进入DVWA

由于本次渗透训练的主要目的是文件上传,所以没有配置数据库,下载配置这一步由我的队友完成了。首先打开服务器的dvwa页面,是一个登陆的界面。
一次对于DVWA上传漏洞的渗透练习_第1张图片
之前配的账号密码有些多,忘记是什么了,试了几个不对,想到前一阵刚学的burp suite,不如用一下BP爆破,反正密码肯定很简单。

首先得登陆进去

打开代理,打开BP,随便输入一个用户名和密码进行抓包
一次对于DVWA上传漏洞的渗透练习_第2张图片
话不多说,直接send to intruder

使用最基本的password字典爆破,得到密码password

一次对于DVWA上传漏洞的渗透练习_第3张图片
可以看出这个返回的是index.php而不是login.php。

低难度的文件上传

首先选择安全难度
一次对于DVWA上传漏洞的渗透练习_第4张图片
从low开始,查看源码


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

从源码看出根本没有过滤,只要你传进来的文件不为空即可。于是直接上传木马。

一次对于DVWA上传漏洞的渗透练习_第5张图片
这是之前写好的一句话木马,由于没有过滤,直接上传成功并返回了路径,这是再好不过了。

漏洞利用

在low的安全级别下直接上传成功并返回路径,直接启动大名鼎鼎的中国菜刀。额,这里菜刀出了点问题,启动中国蚁剑
一次对于DVWA上传漏洞的渗透练习_第6张图片
把自己上传的木马进行连接,拿到webshell,获得文件读写权限。
一次对于DVWA上传漏洞的渗透练习_第7张图片

其实这个服务器的ssh正好在本次任务ddl的时候崩了,这次渗透测试的靶机就是用的之前留的webshell来进行配置的。。。。。

中难度的文件上传

首先设置dvwa的安全级别为medium。源码审计一下。

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

审查源码发现有一行中有过滤
if (($uploaded_type == "image/jpeg") && ($uploaded_size < 100000))
其中限制了文件格式必须为’image/jpeg’并且不能太大,这可以尝试用burp修改数据报的文件格式。
(这里我的火狐出了点问题,只能用谷歌边写博客边做测试,然后写一行博客换一下代理,十分麻烦)

一次对于DVWA上传漏洞的渗透练习_第8张图片
这个是使用BP抓到的数据包,在黄标处改成image/jpeg就可以上传成功。
一次对于DVWA上传漏洞的渗透练习_第9张图片
一开始我源码没看清楚,一直以为是image/png,找了半天不知道错误在哪里,emmmmm。

这个上传也是返回了路径,并且是直接上传的php文件,之后的漏洞利用于第一个low级别的方法相同,不再赘述。

high级别的文件上传

高级的安全下,我经过一些尝试果断放弃,开始阅读WP,一开始我先用00截断,发现php版本不够低,没有效果,于是阅读大佬们的WP,发现可以用到文件包含的漏洞。

首先制作一张内涵图。
一次对于DVWA上传漏洞的渗透练习_第10张图片
直接用cmd中的copy命令,或者直接用记事本打开图片,把小马赋值到最后就行,这里的图片最好小一点,不然记事本打开很慢。制作好的图片是这个样子。最后一行加入了木马。
一次对于DVWA上传漏洞的渗透练习_第11张图片
这里直接上传,成功绕过,现在的问题就是怎么用这个漏洞,由于之前搭的靶机出现了奇奇怪怪的毛病,我在本地的wamp上继续完成后续的渗透实验。
一次对于DVWA上传漏洞的渗透练习_第12张图片

这里同样将图片上传成功。
一次对于DVWA上传漏洞的渗透练习_第13张图片
使用中国蚁剑进行连接
在这里插入图片描述
额,发现这里是IANA保留地址,就是私人的地址。中国蚁剑毕竟是一个开源项目,带有 gov,edu等的webshell都不能连接,理论上如果是正常的靶机,这个时候已经可以连接了。

实验总结

这次渗透实验看似十分简单,但在过程中出现了很多奇奇怪怪的问题,包括服务器的各种毛病,还有自身技术不过关等等。不过最后勉强拿到webshell算是完成实验。

  • 通过本次实验接触了web服务器的搭建,熟悉了一些基本的Linux文件管理操作。
  • 通过本次实验对文件上传漏洞以及一些简单的绕过更加了解,之后的CTF中如果遇到相应的题目可以又更多的思路。
  • 通过蚁剑,达到webshell的连接和利用,熟悉蚁剑的基本操作。
  • 如果在真正的生产环境中进行渗透,肯定不会返回上传木马的路径,这可能去猜解文件路径,或者于sql注入结合拿到webshell。
  • 其次,真实的生产环境中可能还会滤过木马中的eval等关键字符,这就导致小马可能上传不了,可以通过base64或者url编码尝试
    这些在之后的学习中可以练习。

你可能感兴趣的:(网络安全)