我看到了一个遗留项目,它通过Sequelize原始查询对SQL注入是明智的。为了确定潜在的嫌疑人,我在整个项目中搜索:
.query
(来源:https://sequelize.org/v5/manual/raw-queries.html).literal
(来源:https://sequelize.org/v5/class/lib/sequelize.js~Sequelize.html#静态方法文字(
除了使用query
和literal
方法之外,还有其他方法可以通过sequelize运行SQL注入吗?
Sequelize.fn
也可能是危险的,如果我们有这样的东西:
Sequelize.fn('EXECUTE_FN', 'DROP TABLE sometable;')