布尔盲注
当我们改变前端页面传输给后台sql参数时,页面没有显示相应内容也没有显示报错信息时,不能使用联合查询注入和报错注入,这时我们可以考虑是否为基于布尔的盲注。
布尔盲注原理:
利用页面返回的布尔类型状态,正常或者不正常;
我们输入的语句让页面呈现出两种状态,相当于true和false,根据这两种状态可以判断我们输入的语句是否查询成功。布尔盲注就是根据这两种状态,来反推我们输入的条件是真还是假。以sqli-labs-masterless-8关为例
当我们输入id=1时,页面正常显示
当我们输入id=1'或者id=-1时,页面什么都不显示
这就是基于布尔的盲注,只有两种状态
使用布尔盲注时,如果直接采用猜测的方式的话,时间成本大还很难,为了降低时间成本和难度,我们可以判断数据库名、表名、字段名、字段内容的长度,然后一位一位去测试
注入步骤
判断当前数据类型
MySQL数据库表 information_schema.tables
access msysobjects
SQLServer sysobjects
?id=1' and exists(select*from information_schema.tables) --+
?id=1' and exists(select*from msysobjects) --+
?id=1' and exists(select*from sysobjects) --+
所以当前数据库名为mysql数据库文章来源:https://www.toymoban.com/news/detail-415447.html
判断当前数据库名
判断当前数据库名的长度,利用两边夹准则
当我们输入?id=1' and length(database())>10 --+,页面不显示任何数据文章来源地址https://www.toymoban.com/news/detail-415447.html
到了这里,关于【SQL注入漏洞-04】布尔盲注靶场实战的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!