手动漏洞挖掘(三) 文件上传
还是以Metasploitable中的DWVA为例
我们上传一张照片后:
但是这里却显示了文件的路径,我们试猜想,如果上传的不是一个图片,而是一个php文件,而且文件中包含一句话木马,会不会有不同的效果
为了验证,这里我编写了一个简单的一句话木马1.php文件
功能很简单打开cmd命令,将cmd命令的结果echo到页面中
同样这里上传成功:
可以在输入框内将此路径放置在后面, 并且给cmd命令赋值:
漏洞利用成功,这是最简单的文件上传漏洞利用
但是这种方式在DVWA为最低安全级别,调制中安全级别,就会对文件类型做以判断,这时就需要用burpsuite来干涉发包行为,我们先对其数据包进行截断查看:
修改如下:
果然在客户端已经显示,我们将php文件已经上传:
再次利用成功
如果把安全级别调制高安全级别:
对于高安全级别,先查看其源代码
我们继续用burpsuite截断:
和之前同理我们修改其Content-Type,但是发现没有效果,因为此时的filename为1.php,我们既要将文件名修改为jpg类型的,又要符合PHP脚本后缀(为了让文件执行),这里可以这样做:
利用成功:
小结:在利用文件上传漏洞时候,结合burpsuite去截断查看数据包内容,可以猜测开发者的代码思路,从而进行漏洞利用
问题:如何对图片传输进行严格卡控?
对其输出的二进制文件,进行字节遍历,从而判断文件类型。如果对文件头卡控不严格,我们可以对其burpsuite截断,将一句话木马放到文件二进制字节后面(但是文件类型还需要有php,因为apache默认不会执行jpg文件)
或者我们对文件存放的目录权限降低,也可进行防守效果