2018年十大Web黑客技术深度解析
前言
2018年是Web安全领域创新不断的一年,随着Web应用功能的广泛化,针对Web层面的攻击也呈现出多样化和精细化的趋势。本文将对Portswigger公司评选出的2018年十大最具创新性的Web黑客技术进行详细解析,这些技术不仅经受住了时间的考验,还在未来几年内引发了更多的攻击面。
十、跨站搜索(XS-Search)技术
技术原理
跨站搜索(XS-Search)是一种类似于边信道的攻击技术,通过向目标站点发送搜索请求,结合特定搜索功能,根据响应时间差异(XS-Timing)来消除不稳定的网络延迟,判断目标服务端隐私信息的准确性。
攻击特点
- 间接绕过"同源策略"限制
- 在可搜索信息量较大或目标服务端搜索功能多样化的场景下特别有效
- 通过响应时间差异推断敏感信息
典型案例
Luan Herrera在谷歌问题跟踪平台上实现了敏感信息获取,展示了XS-Search的实际应用效果。
防御措施
- 实施严格的同源策略
- 对搜索功能添加速率限制
- 消除或模糊化响应时间差异
九、公式注入(Formula Injection)数据渗漏
技术原理
安全研究员Ajay和Balaji发现,电子表格软件(如谷歌表格和LibreOffice)中存在数据渗漏漏洞,攻击者可以通过注入恶意公式来窃取数据。
攻击方式
- 逗号分隔漏洞(Comma Separated Vulnerabilities)
- 服务端公式注入漏洞(2018年首次发现)
防御措施
- 对用户输入的公式进行严格过滤
- 限制电子表格的外部连接能力
- 实施内容安全策略(CSP)
八、WordPress Prepare()漏洞利用
技术背景
WordPress作为广泛使用的内容管理系统,其漏洞利用已成为一门独立学问。
漏洞原理
Robin Peraglie基于Slavco Mihajloski对PHP反序列化漏洞的分析,深入研究了WordPress中double prepared statements的漏洞利用。
攻击特点
- 利用PHP反序列化漏洞
- 针对WordPress的特定实现方式
防御措施
- 及时更新WordPress核心和插件
- 禁用不必要的PHP功能
- 实施输入验证和输出编码
七、利用本地DTD文件的XXE漏洞利用
技术背景
传统Blind XXE漏洞利用需要加载外部文件,但常被防火墙阻挡。
创新方法
Arseniy Sharoglazov提出利用本地DTD文件绕过防火墙检测机制。
攻击特点
- 仅对特定XML解析器和配置方式有效
- 攻击成功后威胁远超一般DoS,可实现完全控制
- Twitter网友已提出更灵活的改进方法
防御措施
- 禁用XML外部实体处理
- 使用更安全的XML解析器
- 实施严格的防火墙规则
六、利用phar协议的PHP反序列化漏洞
技术原理
利用形如phar://的PHP流封装器,对file_exists()等看似无害的文件操作进行滥用,可触发反序列化漏洞或实现RCE。
研究贡献
Sam Thomas以实际问题和包括WordPress在内的多个漏洞测试用例入手,充分验证了这种攻击方式。
攻击特点
- 扩展了PHP反序列化漏洞攻击面
- 可导致远程代码执行
防御措施
- 禁用phar流封装器
- 实施严格的文件操作权限
- 更新PHP到最新版本
五、HTML5 AppCache攻击
技术原理
Frans Rosen研究表明,无论禁用与否,都可以利用HTML5的应用缓存(AppCache)实现漏洞利用。
攻击方式
- 利用AppCache机制
- 利用客户端竞争条件发起postMessage攻击
防御措施
- 谨慎使用AppCache功能
- 实施严格的CSP策略
- 对postMessage进行源验证
四、NodeJS原型污染攻击
技术原理
Olivier Arteau发现,在NodeJS应用中,基于__proto__属性可实现对目标服务器的远程代码执行攻击(RCE)。
攻击特点
- 特定于NodeJS环境的攻击
- 原本只适用于某些客户端应用
- 可通过Backslash Powered Scanner插件测试
防御措施
- 对用户输入进行严格过滤
- 避免直接使用__proto__属性
- 使用Object.create(null)创建无原型对象
三、ESI标记语言注入
技术背景
Edge Side Includes (ESI)是一种主要在HTTP代理中使用的标记语言。
攻击方式
Louis Dion-Marcil发现,通过ESI注入可导致:
- 服务端请求伪造(SSRF)
- 绕过HTTPOnly cookie的XSS
- 服务端拒绝服务攻击
攻击特点
- 针对流行的反向代理
- 通过JSON响应的HTML利用
- 攻击威力远超传统XSS
防御措施
- 禁用或严格过滤ESI标签
- 实施严格的输入验证
- 更新反向代理软件
二、Web缓存投毒
技术原理
James Kettle展示了如何基于隐藏的HTTP头,利用恶意内容对Web缓存进行毒化。
技术特点
- 在传统基础上出色而有深度的研究
- 原创性强且研究透彻
- 思路清晰又简洁实用
防御措施
- 净化HTTP请求头
- 实施严格的缓存验证
- 使用缓存签名
一、路径规范化漏洞利用
技术背景
Orange Tsai(蔡政达)在2018 Black Hat USA上的议题,基于"不一致性"安全问题。
攻击方式
综合利用4个功能性Bug,实现对亚马逊协同平台系统的远程代码执行。
影响范围
- 流行的网站框架
- 独立服务器
- 反向代理类应用
技术特点
- 良好的实用性
- 强大的威胁隐患
- 广泛的影响范围
防御措施
- 实施严格的路径规范化处理
- 更新所有相关软件
- 进行全面的安全测试
总结
2018年的十大Web黑客技术展示了安全研究者在Web安全领域的创新思维。这些技术不仅具有理论价值,更具有实际应用意义,对Web安全防御提出了新的挑战。安全从业者应当深入理解这些技术原理,才能更好地防御潜在的攻击。