前言
这篇paper 还是断断续续憋了我两个月左右,想把整个攻击能抽象出一个体系出来,所以一直拖了很久才最终成型,个中艰辛还是在自己能体会。原本paper 是投到webzine0x06,后来刺总(axis)说webzine0x06 要11 月才发布,很多朋友又在催,就提前公开这篇paper 了。在现在越来越安全的体系下,sql injection 这类漏洞已经很难在安全性较高的站点出现,比如一些不错的.NET 或JAVA 的框架基本上都是参数化传递用户输入以及其他一些能防御SQL 注入的API,直接封死注入攻击。在非php 的web 安全中出现概率很大而且威力也很大的攻击主要有两种,第一种是sql injection,第二种便是上传攻击。(php 的还有本地/远程文件包含或代码注入漏洞等)。
通常web 站点会有用户注册功能,而当用户登入之后大多数情况下都会存在类似头像上传、附件上传一类的功能,这些功能点往往存在上传验证方式不严格的安全缺陷,是在web 渗透中非常关键的突破口,只要经过仔细测试分析来绕过上传验证机制,往往会造成被攻击者直接上传web 后门,进而控制整个web 业务的控制权,复杂一点的情况是结合webserver 的解析漏洞来上传后门获取权限。
这篇paper 或许还并不算完善,但在分类总结上还是比较全面,我看过OWASP 和Acunetix 对上传攻击的分类,很多方面并不够全面。在写paper 这段时间,因为也在学习其他东西,比较忙,现在才把这篇paper 算写了一个相对来说比较完整的版本,麻雀虽小,五脏俱全,之中有不足之处,希望大家有类似经验的提出来,以便我能更加完善这篇paper,也让大家的交流产生更大的价值。
还有关于这个framework,当时看有部分朋友有些误解,以为有这个framework,就一定能挖到exp 之类,为了不误导大家,在这里还是做个说明。我的本意,只是为了提供一种相对来说系统的分析方法,比如给你一份upload 的源码或者一个website,你怎么来系统地进行白盒/黑盒分析它,并从流程中找出它的逻辑漏洞或其他漏洞来,而不是去猜它会有什么漏洞。更高层次的渗透不应该是去猜测目标,而是通过好的分析和总结能确定甚至预测目标,要自己能心里真正清楚目标的信息,是什么版本,有什么漏洞,一次就成功,而不是我猜下这样是否能成功的侥幸心理。渗透不是猜测,而是结合社会工程学收集到足够多的信息,明确甚至预测目标的环境,然后不做过多的动作,而让自己最大化隐藏完成渗透测试。
在写paper 时,保存的图像分辨率都比较高,大家用100%分辨率观看时可能不太清晰,需要看图像的细节时,推荐大家用200%-400%分辨率来观看即可。
目录概览
0x00 上传检测流程概述
0x01 客户端检测绕过(javascript 检测)
0x02 服务端检测绕过(MIME 类型检测)
0x03 服务端检测绕过(目录路径检测)
0x04 服务端检测绕过(文件扩展名检测)
– 黑名单检测
– 白名单检测
– .htaccess 文件攻击
0x05 服务端检测绕过(文件内容检测)
– 文件幻数检测
– 文件相关信息检测
– 文件加载检测
0x06 解析攻击
– 网络渗透的本质
– 直接解析
– 本地文件包含解析
– .htaccess 解析
– web 应用程序解析漏洞及其原理
0x07 上传攻击框架
– 轻量级检测绕过攻击
– 路径/扩展名检测绕过攻击
– 文件内容性检测绕过攻击
– 上传攻击框架
– 结语
作者:阿里巴巴的安全工程师@卷成团变成个球的CasperKid君
链接: http://pan.baidu.com/s/1mgjxtR6 密码: yaa1
相当久远的paper了
大牛来几个新的?要懂得分享啊
😈