黄教头第五周作业 Sql-inject漏洞-盲注

Sql-inject漏洞-盲注

什么是盲注以及常见的盲注类型
基于boolean(true or false)的盲注测试
基于time的盲注测试

什么是盲注?
在有些情况下,后台使用了错误消息屏蔽方法(比如@)屏蔽了报错
此时无法在根据报错信息来进行注入的判断.
这种情况下的注入,称为“盲注“
根据表现形式的不同,盲注又分为based boolean和based time两种类型

什么是盲注-based boolean
基于boolean的盲注主要表现症状:
0.没有报错信息
1.不管是正确的输入,还是错误的输入,都只显示两种情况(我们可以认为是0或者1)2.在正确的输入下,输入and 1=1/and 1=2发现可以判断

黄教头第五周作业 Sql-inject漏洞-盲注
黄教头第五周作业 Sql-inject漏洞-盲注
黄教头第五周作业 Sql-inject漏洞-盲注
必须前后条件都为正确
黄教头第五周作业 Sql-inject漏洞-盲注
之前用的报错方法:::
黄教头第五周作业 Sql-inject漏洞-盲注
黄教头第五周作业 Sql-inject漏洞-盲注
不行
但是可以通过种种迹象看出:将字符串在数据库中运行

打开mysql
黄教头第五周作业 Sql-inject漏洞-盲注
进行字符ascii码比较
引申出通过比较 来确定database
黄教头第五周作业 Sql-inject漏洞-盲注
使用 select length(database());
黄教头第五周作业 Sql-inject漏洞-盲注
黄教头第五周作业 Sql-inject漏洞-盲注
kobe’ and ascii(substr(database(),1,1))>113#
黄教头第五周作业 Sql-inject漏洞-盲注
kobe’ and ascii(substr(database(),1,1))=112#
黄教头第五周作业 Sql-inject漏洞-盲注
kobe’ and ascii(substr(database(),1,1))<113#也可以
前后一致
多次测试
真的是多次测试
可以用二分法
反正是猜数