【问题标题】:sql injection in sqlite full text searchsqlite全文搜索中的sql注入
【发布时间】:2013-05-11 20:49:00
【问题描述】:

考虑 sqlite3 fts4 表

c.execute("CREATE VIRTUAL TABLE docs USING fts4(content)")    

txt 包含字符串的 sql 注入是否安全?

我不确定参数化查询是否安全,因为只有一个参数 txt 是一个字符串。

c.execute("SELECT * FROM docs WHERE docs MATCH (?)",(txt,))

【问题讨论】:

    标签: python sqlite full-text-search


    【解决方案1】:

    是的,SQL 注入是安全的;这就是 for 的 SQL 参数,用于正确转义和引用 txt

    如果您要使用字符串格式("... MATCH ('%s')" % txt" ... MATCH ('{}')".format(txt)那么您将打开一个 SQL 注入向量,因为您不会转义 txt 中的元字符.

    【讨论】:

      猜你喜欢
      • 2020-04-16
      • 2011-01-01
      • 1970-01-01
      • 2013-06-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多