sql注入攻击是怎么在用户名和密码那儿登陆的时候注入SQL语句的?说得通俗点,官网的太理论太笼统看不明白

sql注入攻击是怎么在用户名和密码那儿登陆的时候注入SQL语句的?说得通俗点,官网的太理论太笼统看不明白

比如 你的检测语句是
select * from user where name=‘“变量1”’ and password=‘变量2’
如果能找到记录则判定登陆成功。

那么对方如果在填写用户名和密码的时候写 密码 1' or ’1‘='1 吧这个替换到 你最后形成的sql 语句就变成了
select * from user where name=‘ 1' or ‘1’='1’ and password=‘ 1' or ‘1’='1’
由于1=1是恒等的。也就会把所有记录给查出来。这样。这样就可以达到不知道密码或者是用户名的情况就登陆了
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-08-22
通常我们的认证过程是一个类似下面的SQL完成的,返回结果不为0即可
select count(*) from user where userid=‘输入的用户名’ and password='输入的密码'

如果攻击者 在用户名栏位填写一个 ' or '1'='1 密码随便填什么

这个SQL就变成

select count(*) from user where userid=‘’ or '1'='1’ and password='输入的密码'
无论密码怎么填都会通过验证了