什么是 SQL 注入
Posted on Wed, 25 Dec 2024 10:34:01 +0800 by LiangMingJian
什么是 SQL 注入
什么是 SQL 注入
SQL注入是一种非常常见的数据库攻击手段,也是网络世界中最普遍的漏洞之一。SQL注入通过在表单中填写包含SQL关键字的数据来使数据库执行非常规代码来完成数据库攻击。
示例
如下述查询语句,从 admin 表中查找 user 为 test 并且 pass 为 123456 的记录,并将满足要求的记录输出。
SELECT * FROM admin WHERE user = "test" AND pass = "123456";
此时,如果用户输入的密码是" OR "1"="1
,用户名是 test ,那么这个语句就会变为以下的样子。
SELECT * FROM admin WHERE user = "test" AND pass = "" OR "1"="1";
显然,WHERE 后的表达式一定为真,于是数据库会将每条记录都进行输出,而不仅输出 test 用户数据,数据库攻击就这样完成了。