- 文件上传漏洞原理
上传文件时,未对上传的文件进行严格的验证和过滤,造成文件上传漏洞,上传文件包括asp、aspx、php、jsp等。攻击者利用上传缺陷上传可执行脚本文件,并通过脚本获取执行服务器端命令的能力,控制服务器。
WEB应用开放了文件上传功能,并且对上传的文件没有进行足够的限制;程序开发部署时,没有考虑系统特征性和过滤不严格,攻击通过web服务器解析漏洞绕过限制,导致可以上传任意文件。
- 文件上传漏洞常见的存在点?
各类可以上传文件的点,如上传头像、文件附件、个人简历、图片、附件
- .NET的网站上传的文件类型
ASP、ASPX、或者00截断、利用中间件的解析漏洞绕过、前端修改绕过
- 应用程序限制了文件后缀名不允许上传,如何绕过
1、前端校验,可以尝试绕过。
2、图片码:cmd copy a.jpg + b.php/a c.jpg 通过把图片和shell文件进行合成后上传。
3、尝试其他可以被解析的类型,如php3、php4、00截断。
- 文件上传二次渲染原理:
上传文件后,网站会对图片进行二次处理(格式、尺寸要求),服务器会把里面的内容进行替换更新,处理完后,根据我们原有的图片生成新的图片并放到网站对应的标签进行显示
- 文件上传二次渲染绕过:
1、配合文件包含漏洞:
将一句话木马插入到网站二次处理后的图片中,(先上传一个文件,成功后下载文件,对比上传后两个文件的大小,那一部分被删除了,在没有删除的部分添加木马,再次上传),配合文件包含漏洞获取webshell。
2、配合条件竞争:https://blog.csdn.net/2401_84558406/article/details/138640741
- 文件上传如何绕过头部检测/
修改文件头,如GIF89a或在图片中插入一句话木马
- 文件上传绕过WAF?
引号变换、大小写、双写、添加换行符,多个分号,多个等号,数据溢出,数据00截断、MINE类型检测绕过、图片码绕过
- 00截断原理:
00截断是操作系统层的漏洞,由于操系统是c语言或汇编语言编写的,都是以\0(即0x00)作为字符串的结尾。操作系统在识别字符串时,当读取到\0字符串时,认为时结束符
- 文件上传防御:
1、文件类型检查:只允许上传安全的文件类型,检查mime类型或文件扩展名验证
2、限制文件大小,防止数据溢出
3、对上传文件进行重命名
4、检查文件内容
5、路径隔离,将上传文件存储到独立目录中。
6、设置文件读取权限。
posted @
2024-12-09 14:54
予遂计划
阅读(
77)
评论()
收藏
举报