DVWA笔记(5)--File Upload(文件上传)

file upload

文件上传的话,就是通过网站的上传页面,将后门文件上传上去。看起来似乎很简单,但是上传绕过的方式可谓各式各样,各种绕过姿势。主要的难点就在绕过上传。不过如果成功上传了,那权限维持就很容易了。

low

我们使用kali自带的菜刀weevely生成一个后门文php文件。简单介绍一下kali中的weevely的使用

生成后门文件:

weevely generate xiaopan.php xiaopan

这里第一个参数是文件名,第二个参数是调用的密码。

接着我们直接上传。burp抓包看看。

成功上传

 

他已经把路径返回来了。我们直接用weevely连接

weevely http://192.168.27.128/DVWA-master/hackable/uploads/xiaopan.php xiaopan

参数一是后门文件路径。参数二是生成时的密码。

连接上去后随便输入一个cmd命令。发现成功获取webshell。

我们看看源码

没有做任何过滤,直接上传了。

 

medium

正常上传,发现无法上传了。只能上传jpg/png

那么我们可以先试试mime类型绕过。

mime类型就是文件的类型。如下图所示。

我们上传php文件的时候。mime类型为appliation/x-php。

那么我们上传一个jpg图片,mime类型会是什么呢。我们随便制造一个jpg。

touch test.jpg

然后上传。截包看

 

发现变成了image/jpeg

那么就好办了,我们在上传后门的时候截包修改mime类型为image/jpeg试试。

为了实验结果正常,先把服务器上传的文件先删了。

再次上传后门文件,把Mime类型修改。

forward。发现成功上传

weevely连接

成功获取webshell。

我们来看看源码:

果然是只判断了mime类型。

high

既然是high级别,正常的修改mime类型应该是不够的。我们还是先看看源码把。

可以看到,不仅判断了后缀名,而且还判断了文件内容是否是图片

我的想法是,先找来一个正常图片,然后通过黑魔法(vi/vim编辑),将php代码写到最下面。然后再使用文件包含来执行。因为正常情况下apache时不会将jpg后缀解析成php的。所以要借助文件包含。

我们先找来一个正常的图片。然后在kali中使用vim编辑这张图片。

额。。。这个。。什么鬼嘛。。不过不用理解这些东西。只需要翻到最下面。添加进一个php写入文件的代码即可。

 

保存之后,发现图片并没有变样子。那么我们直接上传把。

通过了。我们这时候就可以将dvwa安全系数调到Low。然后使用文件包含引用这张图片。(直接访问的话apache不会将jpg后缀解析成php的)。

可以看到,成功访问了我们的后门文件。这时应该已经生成了。我们去文件上传的那个地方看看。

额。。为什么只有一个我的后门。生成的那个呢。。。。思来想去。后面发现。我是通过文件包含调用的。而我写入时时当前目录下。所以我写入的那个后门应该在文件包含那里。

成功获取了webshell。

 

impossible

先上传

发现不返回路径了。。但是返回了这个文件名。可以看到文件名用了随机生成的。但我们之前知道路径。我们再用文件包含试试

发现返回的少了很多东西

直接看源码:

发现不仅重命名了文件,还重新编码了一遍。这样我们的php代码就被过滤掉了。

 

猜你喜欢

转载自blog.csdn.net/xiaopan233/article/details/87029940