标题: MYSQL中BENCHMARK函数的利用 [打印本页] 作者: admin 时间: 2012-9-15 14:03 标题: MYSQL中BENCHMARK函数的利用 MYSQL中BENCHMARK函数的利用 8 h2 W- u5 e* P
本文作者:SuperHei & U8 O) k R3 S/ s4 |! k文章性质:原创# t6 l! n Z i T/ a
发布日期:2005-01-02 2 m3 A* f0 b5 n: m8 n* d完成日期:2004-07-09 ( {/ _* Z0 Z+ q; A+ R+ T第一部 3 S% {) @7 d6 `" g0 C' @: j! w7 {& B0 f/ B$ N8 u3 l s
利用时间推延进行注射---BENCHMARK函数在注射中的利用 & ?, i0 ^3 ]9 x [/ I
0 L) q; g* v8 a2 l$ |/ ]
一.前言/思路& x' K8 V, \5 t2 M' G% b& C
* \/ \1 F, ?9 ?( ?3 z8 ?+ x 如果你看了angel的《SQL Injection with MySQL》一文,你有会发现一般的mysql+php的注射都是通过返回错误信息,和union联合查询替换原来查询语句中的字段而直接输出敏感信息,但是有的时候,主机设置为不显示错误信息:display_errors = Off 而且有的代码中sql查询后只是简单的对查询结果进行判断,而不要求输出查询结果,我们用上面的办法注射将一无所获。我们可以采用时间推延来进行判断注射了。 ~" V$ \( c9 l; ?( v$ W
/ U1 ~( B, F8 Y% D. t' k 本技术的主要思路:通过在构造的语句用加入执行时间推延的函数,如果我们提交的判断是正确的,那么mysql查询时间就出现推延,如果提交的判断是正确,将不会执行时间推延的函数,查询语句将不会出现推延。这样我们就可以进行判断注射。+ {8 b Q( F j% F9 f