Web安全之文件上传漏洞

文件上传#

1.原因:

由于文件上传功能实现代码没有严格限制用户上传的文件类型,导致攻击者通过各种手段绕过文件验证,上传非法文件

2.文件上传过程

 PC主机(javascript检测) ---- http POST请求---- 服务器(MIME、目录路径、文件扩展名、文件内容等检测)

3.文件上传详细信息及绕过方法

3.1文件以http协议上传,将以 POST 请求发送至 web 服务器

3.2web 服务器接收到请求后并同意后,用户与 web 服务器将建立连接,并传输数据

3.3上传文件,检验文件类型

3.3.1通过客户端端验证(javascript 扩展名检测)
 - 用反向代理工具(如burp 之类)修改文件扩展名或禁用 js 绕过客户端端验证
3.3.2服务端验证Content-type (Mime type) (http request 包检测)
 - 用反向代理工具(如burp 之类)进行 Content-type 伪造
3.3.3服务端验证绕过(扩展名检测)
3.3.3.1黑名单检测
 - 找黑名单扩展名的漏网之鱼 - 比如上面就漏掉了 asa 和 cer 之类
 - 可能存在大小写绕过漏洞 - 比如 aSp 和 pHp 之类
 - 特别文件名构造 - 比如发送的 http 包里把文件名改成 help.asp. 或 help.asp_(下划线为空格)
 - IIS 或 nginx 文件名解析漏洞 - 比如 help.asp;.jpg 或 help.jpg/2.php
 - 0x00 截断绕过 - 这个是基于一个组合逻辑漏洞造成的
 - 双扩展名解析绕过攻击(1) - 基于 web 服务的解析逻辑
 - 双扩展名解析绕过攻击(2) - 基于 web 服务的解析方式
 - 危险解析绕过攻击 - 基于 web 服务的解析方式
3.3.3.2白名单检测
 - 特别文件名构造 (同黑名单攻击第 3 条)
 - IIS 或 nginx 文件名解析漏洞 (同黑名单攻击第 4 条)
 - 0x00 截断绕过 (同黑名单攻击第 5 条)
3.3.3.3htaccess 文件攻击
 - 在 PHP 安全没配置好的情况下,用自己的.htaccess 覆盖服务上原文件
3.3.4服务端验证绕过(文件完整性检测)
    - 文件头检测
        只校验了文件头和文件完整性
    - 图像分辨率检测
        在文件开始伪装图像大小数据
    - 文件加载检测
        用工具对文件空白数据区或注释区进行代码注入绕过
        (图像仅能绕过渲染测试,而不能绕过二次渲染)
        用恶意文件去攻击加载器本身
3.3.57.二次上传漏洞
 最新的上传漏洞方法,主要是利用逻辑漏洞。程序代码只对第一次上传的文件进行验证,这样情况下第一次上传正常文件,第二次上传webshell,利用这个漏洞需要上传组件支持一次多文件上传。
3.3.6相互关系与组合情况
    首先客户端端验证和服务端验证是相互独立的,所以分开绕过就行了
    主要难点是在服务端验证的组合上
    文件完整性检测已经包含文件头检测和图像大小及相关信息检测, 但不包含文件扩展名检测
    它是以加载来作为检测的方式,比如用图像渲染函数去渲染一张图片
    文件扩展名检测和文件头检测都是同级的,相互独立
    所以如果是文件扩展名+文件头检测可以同时分开绕过

4.文件上传漏洞防御

4.1系统开发阶段的防御
  代码中在客户端和服务器端对用户上传的文件名和文件路径等项目分别进行严格的检查,阻挡一些基本的试探。
  服务器端的检查最好使用白名单过滤的方法,这样能防止大小写等方式的绕过。
  对截断符进行检测,对HTTP包头的content-type也和上传文件的大小也需要进行检查。
4.2系统运行阶段的防御
 使用多个安全检测工具对系统进行安全扫描,及时发现潜在漏洞并修复。
 定时查看系统日志,web服务器日志以发现入侵痕迹
 定时关注系统所使用到的第三方插件的更新情况,如有新版本发布建议及时更新,如果第三方插件被爆有安全漏洞更应立即进行修补。

总结:

对攻击者来说,文件上传漏洞一直都是获取服务器shell的重要途径。对系统维护人员来说,文件上传漏洞的巨大危害也无须赘述,积极学习,深入了解漏洞的相关知识可以更从容的面对这类攻击。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 214,837评论 6 496
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,551评论 3 389
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 160,417评论 0 350
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,448评论 1 288
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,524评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,554评论 1 293
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,569评论 3 414
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,316评论 0 270
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,766评论 1 307
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,077评论 2 330
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,240评论 1 343
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,912评论 5 338
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,560评论 3 322
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,176评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,425评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,114评论 2 366
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,114评论 2 352

推荐阅读更多精彩内容