文件上传漏洞攻击

攻击者利用程序缺陷绕过系统对文件的验证与处理策略将恶意代码上传到服务器并获得执行服务器端命令的能力。

常用的攻击手段有

  • 上传Web脚本代码,Web容器解释执行上传的恶意脚本;
  • 上传Flash跨域策略文件crossdomain.xml,修改访问权限(其他策略文件利用方式类似);
  • 上传病毒、木马文件,诱骗用户和管理员下载执行;
  • 上传包含脚本的图片,某些浏览器的低级版本会执行该脚本,用于钓鱼和欺诈。

总的来说,利用的上传文件要么具备可执行能力(恶意代码),要么具备影响服务器行为的能力(配置文件)。

防范方法

  • 文件上传的目录设置为不可执行
  • 判断文件类型,设置白名单。
    • 对于图片的处理,可以使用压缩函数或者resize函数,在处理图片的同时破坏图片中可能包含的HTML代码;
  • 使用随机数改写文件名和文件路径
    • 一个是上传后无法访问
    • 再来就是像shell、.php 、.rar和crossdomain.xml这种文件,都将因为重命名而无法攻击
  • 单独设置文件服务器的域名
    • 由于浏览器同源策略的关系,一系列客户端攻击将失效,比如上传crossdomain.xml、上传包含Javascript的XSS利用等问题将得到解决。

猜你喜欢

转载自my.oschina.net/u/616147/blog/1793845