上传|文件上传漏洞学习小结

文件上传漏洞总结
上传|文件上传漏洞学习小结
文章插图
一、不安全的文件上传漏洞概述在文件上传的功能处,若服务端脚本语言未对上传的文件进行严格验证和过滤,导致恶意用户上传恶意的脚本文件时,就有可能获取执行服务端命令的能力,这就是文件上传漏洞。文件上传漏洞对Web应用来说是一种非常严重的漏洞。
一般情况下,Web应用都会允许用户上传一些文件,如头像、附件等信息,如果Web应该没有对用户上传的文件进行有效的检查过滤,那么恶意用户就会上传一句话木马等webshell,从而达到控制web网站的目的。
二、漏洞原理由于程序员在对用户文件上传部分的控制不足或者处理缺陷,而导致用户可以越过其本身权限向服务器上传可执行的动态脚本文件,并通过此脚本文件获得了执行服务端命令的能力。
高危出发点:
相册、头像上传视频、照片分享附件上传(论坛发帖、邮箱)文件管理器
三、漏洞危害1、代码执行
上传文件是web脚本语言,服务器的web容器解释并执行了用户上传的脚本,导致代码执行,甚至导致网站甚至整个服务器被控制
2、域控制
上传文件是flash的策略文件crossdomiain.xml,黑客用以控制flash在该域下的行为;
3、网站挂马
上传文件是病毒、木马,黑客用以诱骗用户或者管理员下载执行;
4、钓鱼
上传文件是钓鱼图片或为包含了脚本的图片,在某些版本的浏览器中会被作为脚本执行,被用于钓鱼和欺诈。
三、上传漏洞满足条件首先,上传的文件能够被web容器解释执行。所以文件上传后所在的目录要是web容器所覆盖到的路径。
其次,用户能够从web访问这个文件。如果文件上传了,但用户无法通过web访问,或者无法得到web容器解释这个脚本,那么也不能称之为漏洞。 最后,用户上传的文件若被安全检查、格式化、图片压缩等功能改变了内容,则也可能导致攻击不成功。
四、防御将上传文件与web服务隔离 白名单过滤、限制上传文件类型文件上传路径设置为不可执行权限检查文件上传路径自带函数检测自定义函数检测图片渲染对上传文件重命名对文件内容压缩,重新生成文件内容检查文件内容
五、上传漏洞绕过详情看图片,后面有一些场景的题目配合学习
upload-labs通关笔记
上传|文件上传漏洞学习小结
文章插图
Pass-1 使用js对不合法图片进行检查需要上传个webshell上去 但是限制了上传的文件类型

上传|文件上传漏洞学习小结
文章插图
F12查看javascrip内容

上传|文件上传漏洞学习小结
文章插图
【 上传|文件上传漏洞学习小结】代码审计

    推荐阅读