文件上传成因及危害

在网站运营过程中,不可避免地要对网站的某些页面或者内容进行更新,这个时候需要使用到网站的文件上传功能。如果不对被上传的文件进行限制或者限制被绕过,该功能便有可能会被利用上传可执行文件、脚本文件到服务器上,从而控制整个网站,甚至如下危害:

  • 网站被控制,对文件增删改查,执行命令,链接数据库
  • 如果服务器长久未更新,可以利用exp提权,导致服务器沦陷
  • 同服务器的其他网站沦陷

    漏洞产生原因

  1. 服务器配置不当(iis6.0等解析漏洞)
    当服务器配置不当时,在不需要上传页面的情况下便可导致任意文件上传。(PUT协议)iis6.0
  2. 本地文件上传限制被绕过(javascript验证)
    只在客户端浏览器上做了文件限制而没有在远程的服务器上做限制,只需要修改数据包就可以轻松绕过限制
  3. 服务端过滤不严格被绕过
    有一些网站使用了黑名单过滤掉了一些关键的可执行脚本文件后缀。但黑名单不全或者被绕过,比如服务端过滤掉了后缀为 .php的文件,但是没有过滤掉.php3等其他可执行的脚本文件后缀,攻击者就可以上传其他的可执行的脚本文件后缀到服务器上。禁止了php,asp,jsp,但是没有禁止php3,asa,cer,cdx等等
  4. 文件路径截断(0x00)
  5. 文件解析漏洞导致文件执行(iis,apache,nginx)
  6. 开源编辑器上传漏洞

文件上传漏洞防御

  • 上传文件的存储目录不给执行权限
  • 文件后缀白名单,注意0x00截断攻击(PHP更新到最新版本)
  • 不能有本地文件包含漏洞(include dama.jpg)
  • 及时更新web应用软件避免解析漏洞攻击

文件上传漏洞推荐平台

upload-labs(https://github.com/c0ny1/upload-labs)
2020-3-4-17-37-36

参考文章:
https://blog.csdn.net/qq_37133717/article/details/94590122