V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
huahsiung
V2EX  ›  信息安全

程序使用 ORM 框架是不是基本就可以解决 SQL 注入了?

  •  
  •   huahsiung · 84 天前 · 3712 次点击
    这是一个创建于 84 天前的主题,其中的信息可能已经有所发展或是发生改变。

    程序:web 程序

    类型:PHP ,web 漏洞王(原因:写起来快,简单)

    ORM 框架是使用的是 sql 预编译的。

    然后是不是一般就不用过滤输入请求的 sql 参数了。直接把参数送入 ORM 中查询就行了。


    不知道有没有没考虑到的。

    一般来说,sql 预编译基本是 100%解决 sql 注入的。不知道有没有反面例子?

    17 条回复    2024-02-18 01:23:47 +08:00
    0o0O0o0O0o
        1
    0o0O0o0O0o  
       84 天前 via iPhone
    反面例子搜 orm injection 就行
    pocarisweat
        2
    pocarisweat  
       84 天前
    用不用 ORM 都可以避免 SQL 注入,预编译 API 也挺简单的
    MrKrabs
        3
    MrKrabs  
       84 天前
    框架也会有 bug 嘛。。。
    kkk9
        4
    kkk9  
       84 天前
    参数值类型强验证避免 80%,sql 预编译避免 19%,上个商业 waf 增加 0.99999999%😉
    saveai
        5
    saveai  
       83 天前
    @kkk9 有个开源的叫雷池咋样
    https://github.com/chaitin/SafeLine
    gam2046
        6
    gam2046  
       83 天前
    ORM 最后用的也是参数化查询,所以只要你不自己手拼 SQL ,用不用 ORM ,基本上都不存在注入的情况。
    Rache1
        7
    Rache1  
       83 天前
    PHP 你用参数化也不麻烦啊,自己原因 SQL 拼接一把梭,那有啥办法,用了 ORM 也不能避免你拼接 SQL 一把梭啊
    qq135449773
        8
    qq135449773  
       83 天前
    你非要手动拼接 sql 不用参数化模板那套东西,换上帝也救不了你的 SQL 注入问题
    pytth
        9
    pytth  
       83 天前 via iPhone
    orm 解决的不是 sql 注入问题,更多的还是为了方便使用。
    lyxxxh2
        10
    lyxxxh2  
       83 天前
    可以这么说,orm 让那些人写不出漏洞
    除非是:wherRaw selectRaw... 那些 raw 原生。
    oppoic
        11
    oppoic  
       83 天前
    上云基本就没有了 sql 注入,到不了 orm 这层就被拦截了
    jdkxnktkdkxod
        12
    jdkxnktkdkxod  
       83 天前
    不管是不是 ORM ,只要使用 prepare 就没问题
    layxy
        13
    layxy  
       83 天前   ❤️ 2
    使用 orm 给你提供了很多便利,这些便利可以极大的避免你因疏忽造成的 sql 注入,一般 orm 框架也提供你手写 sql,这种情况下你拼接 sql 就有可能有 sql 注入风险,所以尽量使用 orm 框架提供的能力和推荐的做法
    4ra1n
        14
    4ra1n  
       83 天前
    例如 ORDER BY ? 是不能预编译的,当某些情况 SQL 复杂或者其他原因,必须手写 SQL 时,恰好遇到这种无法预编译的语句,就可以注入了
    8355
        16
    8355  
       83 天前
    orm 也看实现方案的,如果是用 pdo 参数绑定方案执行的是可以规避的,比如 laravel 和 thinkphp 的 orm 。
    CCddf
        17
    CCddf  
       70 天前
    二次注入
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   936 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 36ms · UTC 22:42 · PVG 06:42 · LAX 15:42 · JFK 18:42
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.