- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
是否有一种算法可以确定给定的 JavaScript 正则表达式是否容易受到 ReDoS 的攻击? ?该算法不必是完美的——一些误报和漏报是可以接受的。 (我对 ECMA-262 正则表达式特别感兴趣。)
最佳答案
如果不实际运行它,很难验证正则表达式是否是邪恶的。您可以尝试检测 Wiki 中详述的一些模式并概括它们:
例如对于
您可以检查 )+
或 )*
或 ){
序列并针对它们进行验证。但是,我保证攻击者会找到绕过它们的方法。
本质上它是一个minefield to allow user set regexps .但是,如果您可以使正则表达式搜索超时,终止线程,然后将该正则表达式标记为“错误”,则可以在一定程度上减轻威胁。如果稍后使用正则表达式,也许您可以通过在入口点针对预期输入运行它来验证它?
稍后,如果在后期评估的文本对您的正则表达式有不同的影响,您仍然需要能够终止它,并将其标记为错误,以便在没有用户干预的情况下不会再次使用它。
关于javascript - 我如何以编程方式识别恶意正则表达式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34042556/
这个问题在这里已经有了答案: The Bash command :(){ :|:& };: will spawn processes to kernel death. Can you explain
这个恶意 javascript 代码到底在做什么? (function () { var qk = document.createElement('iframe'); qk.src =
我的 JavaScript 代码是否可以在运行时被(恶意)用户编辑,即使它已上传到网络托管站点? 例如,如果我在脚本中声明一个变量,如下所示: var myvalue = 2; 我想知道是否可以编辑为
很难说出这里要问什么。这个问题模棱两可、含糊不清、不完整、过于宽泛或夸夸其谈,无法以目前的形式得到合理的回答。如需帮助澄清此问题以便重新打开,visit the help center . 关闭 9
例子: if($('#' + untrusted_js_code).length) > 0 ....` 通常“untrusted_js_code”应该是表示项目 ID 的简单字符串。变量的值来自
我不确定这是 StackOverflow 还是更多的程序员问题,但这里的其他几个人也提出了类似的问题。 在扫描我的 Google Analytics 帐户时,我注意到一些退出链接标记有查询字符串: ?
我正在开发一个 servlet(在 tomcat 上运行),它接收包含 Java 脚本代码的请求,并使用 java 脚本 API 框架评估/运行代码并将答案返回给用户。 由于我们处理的是用户生成的代码
关闭。这个问题是off-topic .它目前不接受答案。 想改进这个问题吗? Update the question所以它是on-topic用于堆栈溢出。 关闭 9 年前。 Improve this
我是一名优秀的程序员,十分优秀!