我们使用benchmark()函数不断地获得sql注入,并对servers.the sql注入语句造成了沉重的负载。
benchmark()类似于MySQL函数,这些函数可能在SQL注入中使用?
发布于 2014-05-07 04:12:32
像BENCHMARK
和SLEEP
这样耗时的函数被用来利用SQL注入,其中注入的结果对于攻击者来说是不可见的,因此称为盲SQL注入。
以类似于基于布尔的技术的方式,注入耗时的函数BENCHMARK
/SLEEP
,并根据指定的条件影响服务器的响应:
… IF(EXISTS (SELECT 1 FROM mysql.users WHERE username='root' AND SUBSTR(password, 3, 1)='x'), SLEEP(5), 1) …
如果根密码的第三个字符是x
,这个注入的IF
将调用SLEEP(5)
,从而将服务器的响应时间延长了5秒。
因此,如果响应时间比平均响应时间多5秒,攻击者就可以得出结论,在根密码的第三个位置有一个x
。这样,攻击者就可以逐个字符地重建root用户的密码。
https://stackoverflow.com/questions/23486770
复制相似问题