文件上传漏洞分析
文件上传成因及危害
在网站运营过程中,不可避免地要对网站的某些页面或者内容进行更新,这个时候需要使用到网站的文件上传功能。如果不对被上传的文件进行限制或者限制被绕过,该功能便有可能会被利用上传可执行文件、脚本文件到服务器上,从而控制整个网站,甚至如下危害:
- 服务器配置不当(iis6.0等解析漏洞)
当服务器配置不当时,在不需要上传页面的情况下便可导致任意文件上传。(PUT协议)iis6.0 - 本地文件上传限制被绕过(javascript验证)
只在客户端浏览器上做了文件限制而没有在远程的服务器上做限制,只需要修改数据包就可以轻松绕过限制 - 服务端过滤不严格被绕过
有一些网站使用了黑名单过滤掉了一些关键的可执行脚本文件后缀。但黑名单不全或者被绕过,比如服务端过滤掉了后缀为 .php的文件,但是没有过滤掉.php3等其他可执行的脚本文件后缀,攻击者就可以上传其他的可执行的脚本文件后缀到服务器上。禁止了php,asp,jsp,但是没有禁止php3,asa,cer,cdx等等 - 文件路径截断(0x00)
- 文件解析漏洞导致文件执行(iis,apache,nginx)
- 开源编辑器上传漏洞
文件上传漏洞防御
- 上传文件的存储目录不给执行权限
- 文件后缀白名单,注意0x00截断攻击(PHP更新到最新版本)
- 不能有本地文件包含漏洞(include dama.jpg)
- 及时更新web应用软件避免解析漏洞攻击
文件上传漏洞推荐平台
upload-labs(https://github.com/c0ny1/upload-labs)
参考文章:
https://blog.csdn.net/qq_37133717/article/details/94590122
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 bb的博客!