DVWA File Upload

low

未对上传文件进行任何过滤,可以直接上传一个shell文件shell.php,例如一句话木马,通过暴露出的路径来执行该文件,然后利用菜刀进行连接,获取服务器文件信息,利用文件管理和虚拟终端进行其他操作
DVWA File UploadDVWA File UploadDVWA File UploadDVWA File UploadDVWA File UploadDVWA File UploadDVWA File Upload

medium

要求上传JPEG或者PNG格式的图片
DVWA File Upload

DVWA File Upload将shell.php修改为shell.png(绕过文件类型检测),尝试利用burp抓包修改文件后缀为php(上传到服务器后的文件名),上传成功
DVWA File UploadDVWA File UploadDVWA File Upload

high

查看源代码发现对文件名进行了截取,其中涉及到了strrpos()函数,就去查了一下
DVWA File UploadDVWA File Upload由于限制了后缀和图片类型,前面的办法已经不管用了,查了一下,这里可以将图片文件与php文件进行合并,将一句话木马的代码内容隐藏在图片文件的末尾,以此来绕过getimagesize()对图片的检测,我这里是在Linux下合并的,命令:cat 1.jpg shell.php > shell.png
DVWA File UploadDVWA File UploadDVWA File Upload注意,上传成功以后,由于是图片文件,如果直接菜刀连接
http://192.168.56.141/hackable/uploads/shell.png的话,会报错,所以需要结合文件包含漏洞进行连接http://192.168.56.141/hackable/uploads/shell.png,但是修改以后仍然没连上,提示错误(返回数据为空)
DVWA File UploadDVWA File Upload
好家伙,半天才反应过来,菜刀其实也是相当于一个浏览器,在利用文件包含漏洞的时候需要携带cookie才可以(即就是用菜刀登录一下dvwa)
DVWA File Upload但是我还是没有成功,又继续查,说是可以结合命令执行漏洞(127.0.0.1 |rename C:\phpstudy_pro\WWW\DVWA-master\hackable\uploads\shell.png shell.php或者127.0.0.1 |copy C:\phpstudy_pro\WWW\DVWA-master\hackable\uploads\shell.png C:\phpstudy_pro\WWW\DVWA-master\hackable\uploads\shell.php),将上传的shell.jpg文件改回shell.php之后再进行访问和菜刀连接,
DVWA File UploadDVWA File Upload