文件包含
远程文件包含:
可以使用kail下的/usr/share/wfuzz/wardlist/vulns下有专门针对类unix或windows系统的目录遍历使用的字典。
文件上传漏洞
设置DWVA安全级别为low
打开DVWA的文件上传功能,正常上传成功效果如下图:
现在我们创建一个php文件:
<?php echo shell_exec($_GET['cmd']);?>
我们尝试上传该php文件。
上传成功,我们使用该url进行测试,发现被成功执行:
我们使用burpsuite将请求过程抓下来。
设置DWVA安全级别为medium
先测试上传图片:
上传php脚本文件进行测试:
burp中查看,上传的文件显示为应用程序php脚本文件。
我们手动修改参数,将上传类型参数修改为图片,重新提交测试。
上传成功并能成功运行。
mimetype 1.php #查看文件类型,但从改文件名后缀去欺骗mimetype是无法欺骗的
设置DWVA安全级别为high
先上传正常图片:
再上传php脚本并修改文件上传类型:
他这次过滤的是文件扩展名而不是文件类型,所以这样上传失败,此时我们修改上传文件后缀名,上传成功并运行成功。
文件头绕过过滤上传webshell:有些文件不仅会通过头信息里面的内容取判断,而且也会判断已传输的body里前面部分内容。
此时可以将php脚本代码替换body后面部分内容。
首先上传正常的图片:
然后进行访问测试。(此处我测试失败!)
防护方面,出了通过代码去严格控制,还可以用过控制上传目录的权限。这样的话,可以上传文件,但无法执行。