Pikachu-Sql-Inject -基于boolian的盲注

基于boolean的盲注:

1、没有报错信息显示;

2、不管是正确的输入,还是错误的输入,都只显示两种情况,true or false;

3、在正确的输入下,输入and 1= 1/and 1= 2发现可以判断;

布尔盲注常用函数

length(str):返回str字符串的长度。

substr(str, pos, len):将str从pos位置开始截取len长度的字符进行返回。注意这里的pos位置是从1开始的,不是数组的0开始

mid(str,pos,len):跟上面的一样,截取字符串

ascii(str):返回字符串str的最左面字符的ASCII代码值。

ord(str):同上,返回ascii码

if(a,b,c) :a为条件,a为true,返回b,否则返回c,如if(1>2,1,0),返回0

布尔型盲注入用到得SQL 语句select if(1=1,1,0) if()函数在mysql 是判断,第一个参数表达式,如果条件成立,会显示1,否则显示0。1=1 表达式可以换成构造的SQL 攻击语句。

一、判断数据库名的长度:

从前面已经知道有个用户 为 vince ,如果长度判断正确,回返回vince 这个用户,错误则显示不存在;

通过payload ,从1、2、3...... 判断数据库名长度;

复制代码
vince' and length(database())=1#

发送到 intruder 做爆破,以长度的值为参数;

经过url编码,

爆破得到 当长度为7 时,返回 vince 这个用户;

所以数据库长度为7;

二、获取数据库名的每一位的字母

得知长度为7 后,去爆破数据库名;

查询数据库名称:

数据库名称由数字、字母组合;

0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz

构造payload,先查询第一个字母:

复制代码
vince' and if(substring(database(),1,1)='a',1,0)#
//在intruder中,第一个数字1 为长度参数, 'a' 为第二个参数

发送到 intruder 做爆破;

如红框显示 , 字母a为第一个参数, 数据库长度为第二个参数;

爆破后的结果根据长度显示,payload1 的数字就是对应字母所在的位置;

得到数据库名称为 pikachu ;

三、根据库名,获取表名由于一个库有多张表 ,表的长度

构造payload,这条语句的意思时查 第一张表的第一个字字母 是否为 a ;

第一个 1 ,代表查第一张表,第二个1,1 代表查第一个字母;

复制代码
vince'and if(substring((select TABLE_NAME from information_schema.TABLES where
TABLE_SCHEMA=database() limit 1),1,1)='a',1,0)#

爆破参数如图:

得到结果如下:

payload1 为字母所在位置序号, 得出第一张表名为 httpinfo ;

以次类推,可以继续爆破后续的表,后续的字段;

相关推荐
大布布将军6 小时前
⚡️ 深入数据之海:SQL 基础与 ORM 的应用
前端·数据库·经验分享·sql·程序人生·面试·改行学it
唐人街都是苦瓜脸6 小时前
踩坑记:ORA-01722 无效数字错误排查与解决(附实战案例)
sql·oracle
JIngJaneIL7 小时前
基于java+ vue农产投入线上管理系统(源码+数据库+文档)
java·开发语言·前端·数据库·vue.js·spring boot
源代码•宸7 小时前
goframe框架签到系统项目(BITFIELD 命令详解、Redis Key 设计、goframe 框架教程、安装MySQL)
开发语言·数据库·经验分享·redis·后端·mysql·golang
川贝枇杷膏cbppg7 小时前
Redis 的 AOF
java·数据库·redis
TG:@yunlaoda360 云老大7 小时前
如何在华为云国际站代理商控制台进行SFS Turbo的性能与容量核查?
服务器·网络·数据库·华为云
ytttr8738 小时前
MATLAB基于LDA的人脸识别算法实现(ORL数据库)
数据库·算法·matlab
云老大TG:@yunlaoda3608 小时前
如何进行华为云国际站代理商跨Region适配?
大数据·数据库·华为云·负载均衡
思成不止于此8 小时前
【MySQL 零基础入门】事务精讲(二):ACID 特性与并发问题
数据库·笔记·学习·mysql
Boilermaker19929 小时前
[MySQL] 初识 MySQL 与 SQL 基础
数据库·mysql