php - 这个查询是否容易受到 sql 注入(inject)的攻击?

标签 php sql sql-injection

$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/

相关文章:

php - 如何将 phpseclib 的 CRYPT_RSA_SIGNATURE_PKCS1 转换为 Node

php - is_numeric() 是否意味着 var 对 MySQL 是安全的?

php - 如何防止 PHP 中的 SQL 注入(inject)?

sql - 如何安全地允许用户定义的 SQL 查询?

php - 我可以在运行 PHP 的 64 位系统上将 PHP_INT_SIZE 定义为 4 个字节吗?

php - 重写站点上的 URL 地址

mysql - 合并相关记录

mysql - SQL : Linked lists in SQL database?

mysql - 改进查询