写了学长给的一个题目,第一关就是一个sql注入,但是尝试了万能密码是不管用的,因为题目把单引号给过滤掉了,无法使用单引号来闭合
$sql = "SELECT username, password FROM user WHERE username='" .$user ."' && password='" .$pass ."'";
要想闭合sql语句加上or 1=1#
来使判断条件为真,我学到了一个操作:使用\
转义
用\
转义后面的单引号
在用户名框输入\
,密码框输入or 1=1 #
,这样提交后,sql语句是这样的:
...where username='\'&& password=' or 1=1 #'
这时实际上你提交的username就是\'&& password=
提交的密码里的#把后面的多余的单引号给注释掉了,这个时候sql注入就成功了