|
|
|
|
移动端

JavaScript Web 应用程序和服务器易受 ReDoS 攻击

JavaScript Web 应用程序和 Web 服务器容易受到称为正则表达式(regex)拒绝服务(ReDoS)的特定类型的漏洞/攻击。

作者:开源中国编译来源:BleepingComputer|2018-08-23 09:16

【新品产上线啦】51CTO播客,随时随地,碎片化学习

JavaScript Web 应用程序和 Web 服务器容易受到称为正则表达式(regex)拒绝服务(ReDoS)的特定类型的漏洞/攻击。当攻击者将大量复杂的文本发送到基于 JavaScript 的 Web 服务器或应用程序的开放输入时,就会发生这些漏洞。

如果服务器组件或应用程序库不是专门设计用于处理各种边缘情况,则攻击者的输入最终会一次阻止整个应用程序或服务器几秒钟或几分钟,而服务器会分析并模式匹配输入。

各种编程语言和 Web 服务器技术在模式匹配操作和 ReDoS 攻击的性能方面存在类似的问题,由于大多数 JavaScript 服务器的单线程执行模型,每个请求都由同一个线程处理,因此在 JavaScript 的情况下它们被夸大了。

2017 年发布的后续研究显示,Node.js 库和应用程序中发现的漏洞总数中有 5% 是 ReDoS 漏洞。在上周的一次安全会议上,ReDoS 问题由于多年未得到解决,在 JavaScript 社区引起重视。来自德国达姆施塔特技术大学(Technical University in Darmstadt, Germany)的两名学者 Cristian-Alexandru Staicu 和 Michael Pradel 表示,他们在流行的 Node.js 模块中发现了 25 个以前未知的漏洞。

Staicu 和 Pradel 说这些漏洞的主要原因是缺乏对正则表达式匹配性能的关注,因为大多数开发人员似乎都专注于准确性,在代码中留下了大量漏洞,攻击者可以使用 ReDoS 攻击来利用这些漏洞。

两人经过进一步研究,设计出了一种在实际网站上检测这些漏洞而无需实际使用 ReDoS 漏洞利用代码的方法。他们使用这种方法扫描 2,846 个流行的基于 Node.js 的站点,显示 339 个大约 12% 的站点容易受到至少一个 ReDoS 漏洞的攻击。研究小组表示,“ReDoS 对这些网站的可用性构成严重威胁,我们会开发用于检测和缓解 JavaScript 中 ReDoS 漏洞的技术。”

【编辑推荐】

  1. 外媒速递:开源无服务器四大解决方案的比拼
  2. 提升体验,微软在 VSCode 中引入了 Python 语言服务器
  3. 谷歌宣布推出 Dart 2 稳定版和 Dart Web 平台
  4. 外媒速递:2018年五大顶尖无服务器平台综述
【责任编辑:张燕妮 TEL:(010)68476606】

点赞 0
分享:
大家都在看
猜你喜欢

读 书 +更多

SOA 原理•方法•实践

本书并不是关于Web服务的又一本开发手册,抑或是开发技术的宝典之类的读物。本书的作者来自于IBM软件开发中心的SOA技术中心,作为最早的一...

订阅51CTO邮刊

点击这里查看样刊

订阅51CTO邮刊