程序:web 程序
类型:PHP ,web 漏洞王(原因:写起来快,简单)
ORM 框架是使用的是 sql 预编译的。
然后是不是一般就不用过滤输入请求的 sql 参数了。直接把参数送入 ORM 中查询就行了。
不知道有没有没考虑到的。
一般来说,sql 预编译基本是 100%解决 sql 注入的。不知道有没有反面例子?

程序:web 程序
类型:PHP ,web 漏洞王(原因:写起来快,简单)
ORM 框架是使用的是 sql 预编译的。
然后是不是一般就不用过滤输入请求的 sql 参数了。直接把参数送入 ORM 中查询就行了。
不知道有没有没考虑到的。
一般来说,sql 预编译基本是 100%解决 sql 注入的。不知道有没有反面例子?
1 0o0O0o0O0o Feb 4, 2024 via iPhone 反面例子搜 orm injection 就行 |
2 pocarisweat Feb 4, 2024 用不用 ORM 都可以避免 SQL 注入,预编译 API 也挺简单的 |
3 MrKrabs Feb 4, 2024 框架也会有 bug 嘛。。。 |
4 kkk9 Feb 4, 2024 参数值类型强验证避免 80%,sql 预编译避免 19%,上个商业 waf 增加 0.99999999% |
5 saveai Feb 4, 2024 |
6 ntdll Feb 4, 2024 ORM 最后用的也是参数化查询,所以只要你不自己手拼 SQL ,用不用 ORM ,基本上都不存在注入的情况。 |
7 Rache1 Feb 4, 2024 PHP 你用参数化也不麻烦啊,自己原因 SQL 拼接一把梭,那有啥办法,用了 ORM 也不能避免你拼接 SQL 一把梭啊 |
8 qq135449773 Feb 4, 2024 你非要手动拼接 sql 不用参数化模板那套东西,换上帝也救不了你的 SQL 注入问题 |
9 liKeYunKeji Feb 4, 2024 via iPhone orm 解决的不是 sql 注入问题,更多的还是为了方便使用。 |
10 lyxxxh2 Feb 4, 2024 可以这么说,orm 让那些人写不出漏洞 除非是:wherRaw selectRaw... 那些 raw 原生。 |
11 oppoic Feb 4, 2024 上云基本就没有了 sql 注入,到不了 orm 这层就被拦截了 |
12 wOuv7i4e7XxsSOR1 Feb 4, 2024 不管是不是 ORM ,只要使用 prepare 就没问题 |
13 layxy Feb 4, 2024 使用 orm 给你提供了很多便利,这些便利可以极大的避免你因疏忽造成的 sql 注入,一般 orm 框架也提供你手写 sql,这种情况下你拼接 sql 就有可能有 sql 注入风险,所以尽量使用 orm 框架提供的能力和推荐的做法 |
14 4ra1n Feb 4, 2024 例如 ORDER BY ? 是不能预编译的,当某些情况 SQL 复杂或者其他原因,必须手写 SQL 时,恰好遇到这种无法预编译的语句,就可以注入了 |
15 slowgen PRO |
16 8355 Feb 4, 2024 orm 也看实现方案的,如果是用 pdo 参数绑定方案执行的是可以规避的,比如 laravel 和 thinkphp 的 orm 。 |
17 CCddf Feb 18, 2024 二次注入 |