“Regular Expression Denial of Service (ReDoS)”
什么?正则表达式也能发生拒绝服务攻击?
搜了一下,这篇文章介绍得十分详细,而且有一个触发这个漏洞的范例:
How to eliminate regular expression denial of service
有兴趣的朋友可以阅读一下。如果纯粹想体验一下这个漏洞,文中指出的 JavaScript 范例代码如下:
let regex = /("[^"]*"|[^@])*@([^@]*)/
t = performance.now()
regex.test('"""""""""""""""""""""""""""""""""""""""')
console.log(performance.now() - t)
以上代码约需时 3 秒钟运行,每多一个 " 符号,耗时增加一倍。
作者表示 64 个符号耗时两年 — no zuo no die [doge]
作者:CodingStartup起码课
转载:https://www.bilibili.com/read/cv11137947
出处: bilibili
编辑 | sishen
来源 | 前端兔
公众号 | 前端兔
关注公众号查看更多前端知识分享~~