javascript - RegExp 的测试字符串中是否可以进行代码注入(inject)?

标签 javascript regex code-injection

JavaScript RegExp 的测试字符串中是否可以进行代码注入(inject)?

此代码在服务器端执行:

const userInput = "..."; // user input provided by client
const match = new RegExp(regex, "i").test(userInput);

正则表达式是静态的并且驻留在服务器端。只有userInput字符串是我们无法控制的,用户可以输入他们想要的任何内容。

攻击者是否有可能注入(inject)代码,或者是否应该由 JS RegExp 方法安全地处理?

最佳答案

除非运行正则表达式的 JavaScript 引擎存在非常具体的漏洞(缓冲区溢出等),否则这是安全的,这是极不可能但并非完全不可能。

关于javascript - RegExp 的测试字符串中是否可以进行代码注入(inject)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56280327/

相关文章:

javascript - 在 vue.js 中更新数据属性/对象

scala - 注入(inject)构造函数时出错,java.lang.ClassCastException : Play 2. 5.4 - Scala

java - Spring 接线 - 未找到默认构造函数

javascript - Box2D body 在碰撞时不旋转

javascript - 带有标签选择器的 Twitter Bootstrap 下拉菜单

javascript - XMLHttpRequest 在按钮单击时不起作用

c# - 替换具有 <UNKNOWN/> 标签的标签 <NPS></NPS>

java - 从字符串格式的十进制/Java 错误中删除尾随 0 - 后向模式匹配必须在索引 15 附近具有有限的最大长度

java - 用于识别构造函数声明的正则表达式

css - Devtools 审计显示不需要的/注入(inject)的 css 规则