$myq = sprintf("select user from table where user='%s'", $_POST["user"]);
我想知道是否可以使用 SQL 注入(inject)来利用上述查询。是否有任何高级 SQL 注入(inject)技术可以破坏此特定查询的 sprintf
?
最佳答案
我认为它不需要特别高级...尝试输入
' OR 1 = 1 OR user='
换句话说,您将获得以下 SQL:
select user from table where user='' OR 1 = 1 OR user=''
这看起来像是您真正想要执行的查询吗? (现在考虑它删除表的可能性,或者类似的东西。)
底线是您应该使用参数化查询。
关于php - 这个查询是否容易受到 sql 注入(inject)的攻击?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2456123/