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/