[极客大挑战 2019]BabySQL1

显示运用order by语句发现语句被过滤了,尝试用联合查询

发现union select也被过滤了

因此可以尝试双写绕过

先输入username=1' ununionion seselectlect 1'&password=1

发现有回显信息

发现显示列数出错,所以试试改变union select后的数

试到3时,发现回显出正确的信息

 

用想查的数据替代2,3的位置

可得知数据库的名称为geek,版本为10.3.18-MariaDB,可运用information_schema表来查询

发现information和form因为含有or被过滤了

用双写绕过

发现还是报错,可以看看是不是where被过滤了

试试用双写绕过

果然成功了

可得表名为b4bsql,geekuser

觉得geekuser更像是我们需要查询的表,因此先查询geekuser这份表

用同样的方式查询列名

可得知列名分别为id,username,password

查询username和password这两个字段名

需要注意password中含or也会被过滤,因此需要双写绕过

最后可以得到用户名和密码

发现解密不了,试试另一个表

查字段直接得flag

[极客大挑战 2019]BabySQL1_第1张图片

 

你可能感兴趣的:(web安全刷题,mariadb,数据库,database)