防御文件上传
作者:互联网
概念
恶意用户上传具有可执行命令功能的文件,通过远程工具连接后执行恶意命令,达到对网站的权限控制,甚至服务器的控制。
产生的必要条件
1)能够将 后门文件 成功上传
2)上传的文件能够被成功解析
常见的过滤方法及绕过方法
1)前端JS验证文件后缀
(1)关闭浏览器js执行
(2)刷新页面,抓取相应数据包,修改js验证代码
2)后端验证文件后缀
(1)文件尾缀加“.”,限于windows系统
(2)文件尾缀加“ ”,限于windows系统
(3)文件名尾缀加“::$DATA”,,限于windows系统
3)验证HTTP报文中content-type属性
(1)burpsuite抓包,修改属性值
4)验证文件头
(1)burpsuite抓包,修改文件头
(2)直接将后门代码与图片拷贝在一起,利用图片文件头进行绕过
(3)直接记事本打开图片文件,写入后门代码
5)验证文件内容
(1)安全狗
(2)宝塔
6)等价文件名解析
(1)asp:asa、cdx、cer
(2)php:php3、php4、php5、phtml
(3)aspx:ashx、ascx、asmx
(4)jsp:jspx、jspf
(5)exe:exee
(6)错误的后缀名解析配置
7)图片二次渲染
(1)上传的gif,讲过图片渲染后,存在未改变的文件内容,在为改变的部分添加后门代码
8)条件竞争
(1)在更改文件名之前,访问文件,致使更改文件名函数失效
(2)存在验证文件是否合法,不合法时删除文件,在删除文件之前访问文件,由上传的文件创建后门文件
9)截断绕过
(1)windows系统在读取文件名时,遇见 00 时,会判断文件名结束
综上所述,想要防御文件上传可以从以下几点出发
1)操作系统选择linux系统
2)使用后端的白名单验证文件后缀名
3)验证HTTP数据报中的content-tyoe参数
4)验证文件头正确性
5)安装相关的web防护应用,验证文件中是否存在明显的后门内容
6)配置文件中,取消不需要的文件解析后缀
7)将上传文件夹下的权限给予到最小,取消无用的权限
8)在一定时间内,限制文件上传的次数
标签:后门,文件,文件名,windows,验证,防御,上传 来源: https://www.cnblogs.com/v1v1v1/p/15847979.html