加入渗透小组后的首次任务是搭一个靶机并进行提权,由于最近的事情比较多,拖到现在,给队友和学长先说一声抱歉。
由于本次渗透训练的主要目的是文件上传,所以没有配置数据库,下载配置这一步由我的队友完成了。首先打开服务器的dvwa页面,是一个登陆的界面。
之前配的账号密码有些多,忘记是什么了,试了几个不对,想到前一阵刚学的burp suite,不如用一下BP爆破,反正密码肯定很简单。
打开代理,打开BP,随便输入一个用户名和密码进行抓包
话不多说,直接send to intruder
使用最基本的password字典爆破,得到密码password
可以看出这个返回的是index.php而不是login.php。
';
echo 'Your image was not uploaded.';
echo '
';
} else {
echo ''; echo $target_path . ' succesfully uploaded!'; echo ''; } } ?>
从源码看出根本没有过滤,只要你传进来的文件不为空即可。于是直接上传木马。
这是之前写好的一句话木马,由于没有过滤,直接上传成功并返回了路径,这是再好不过了。
在low的安全级别下直接上传成功并返回路径,直接启动大名鼎鼎的中国菜刀。额,这里菜刀出了点问题,启动中国蚁剑
把自己上传的木马进行连接,拿到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修改数据报的文件格式。
(这里我的火狐出了点问题,只能用谷歌边写博客边做测试,然后写一行博客换一下代理,十分麻烦)
这个是使用BP抓到的数据包,在黄标处改成image/jpeg就可以上传成功。
一开始我源码没看清楚,一直以为是image/png,找了半天不知道错误在哪里,emmmmm。
这个上传也是返回了路径,并且是直接上传的php文件,之后的漏洞利用于第一个low级别的方法相同,不再赘述。
高级的安全下,我经过一些尝试果断放弃,开始阅读WP,一开始我先用00截断,发现php版本不够低,没有效果,于是阅读大佬们的WP,发现可以用到文件包含的漏洞。
首先制作一张内涵图。
直接用cmd中的copy命令,或者直接用记事本打开图片,把小马赋值到最后就行,这里的图片最好小一点,不然记事本打开很慢。制作好的图片是这个样子。最后一行加入了木马。
这里直接上传,成功绕过,现在的问题就是怎么用这个漏洞,由于之前搭的靶机出现了奇奇怪怪的毛病,我在本地的wamp上继续完成后续的渗透实验。
这里同样将图片上传成功。
使用中国蚁剑进行连接
额,发现这里是IANA保留地址,就是私人的地址。中国蚁剑毕竟是一个开源项目,带有 gov,edu等的webshell都不能连接,理论上如果是正常的靶机,这个时候已经可以连接了。
这次渗透实验看似十分简单,但在过程中出现了很多奇奇怪怪的问题,包括服务器的各种毛病,还有自身技术不过关等等。不过最后勉强拿到webshell算是完成实验。