SQL注入大致意思就是使用statement执行sql语句嘚时候会将传入的字符串参数作为SQL语句执行如果在字符串参数中混入了sql关键字,就可能导致一些严重后果
比如下图是一个简单的登录驗证程序,
数据表中存放了用户名和对应的密码登录检测就是根据用户传入的用户名和密码使用select语句找出username和password都符合用户传入参数的结果,如果没有符合条件的则验证失败否则成功。
(表中有个叫fu的用户)
可以看到用户传入的参数后面加了 ' or ' 1= 1这句,
结果导致拼接出来的SQL语呴变成了
二者or的结果为真所以就能查询到结果,这样就可以绕过密码登录进去
(也可以在fu后面加--这样可以注释掉and后面的语句)
* 登录验證程序验证sql注入漏洞