布尔盲注和BurpSuite-Intruder模块使用-SQL注入-web安全

1、布尔盲注简介

布尔型盲注指根据传参不同,页面只返回两种类型页面。

  • 主要用的的函数
    • length(str):长度
    • substr(str,index,len):截取字符串长度
    • ascii():返回字符的ascii码值
    • if(exp1,exp2,exp3):判断语句,如果第一个语句正确就执行第二个语句如果错误执行第三个语句

2、手工注入步骤

示例1:SQLi-LABS Page-1(Basic Challenges) sql injections less-8

页面显示没有数据库相关数据,永远只有2种类型页面:

  • 正常:http://localhost/sqli-labs/Less-8/?id=1,图示:布尔盲注和BurpSuite-Intruder模块使用-SQL注入-web安全

  • 错误:http://localhost/sqli-labs/Less-8/?id=1‘图示:布尔盲注和BurpSuite-Intruder模块使用-SQL注入-web安全

这就算典型的布尔盲注。

  • 判断是布尔盲注之后注入步骤
    1. length判断数据库名长度
    2. substr获取数据库名每一个字符,进而得出数据库名
    3. 循环步骤1,2获取表名、字段名、字段内容

手动注入具体步骤如下:

  1. 参数:id=1’and length(database())>8-- + ,通过改变数字大小,得出数据库名长度8
  2. 参数:id=1’and substr(database(),1,1)=‘s’-- + 通过改变’'内的值得出数据库名第一个字符s;通过改变substr二个和第三个参数,依次获取数据库名的每一个参数;最终得出完整的数据库名。
  3. 循环步骤1,2获取表名、字段名、字段内容

对于初次解除的小伙伴,可以尝试手工注入,但是当熟悉以后在通过手工注入方式,那就太浪费时间了。下面,我们结合工具BurpSuite Intruder模块开提高注入效率。

3、BurpSuite Intruder模块

关于Intruder(入侵、侵入、破解)模块详细的功能,可自行搜索相关内容,这里只介绍目前会用到的功能:

  • Target:目标,图示,布尔盲注和BurpSuite-Intruder模块使用-SQL注入-web安全

    • Host: 目标IP地址
    • Port:目标端口
    • Use HTTPS:是否url以https开头
  • Positions:位置,布尔盲注和BurpSuite-Intruder模块使用-SQL注入-web安全

    • Att布尔盲注和BurpSuite-Intruder模块使用-SQL注入-web安全

    • Resource Pool :资源池(线程池),多线程配置布尔盲注和BurpSuite-Intruder模块使用-SQL注入-web安全

    • Options:配置项布尔盲注和BurpSuite-Intruder模块使用-SQL注入-web安全

      • Save Option:保存配置
      • Request Header:请求头配置
      • Error Handling:错误处理方式
      • Attack Results:结果处理
      • Grep:过滤
      • Redirections:重定向

    4、结合Intruder布尔盲注

    关于判断是否存在漏洞以及查找注入点,这里不再重复,从爆破数据名开始,后续爆破表名,字段名、字段值等等一样的方式。第一步,判断数据库名长度1’+and+length(database())=§1§–+#,其中数据库长度这里是爆破变量,参数中的+表示空格,url解码时会解析为空格

    1. 设置target,因为靶场在本地运行,默认ip127.0.0.1,端口80.
    2. 配置positions
      1. 清空所有的§

      2. 选中8,执行Add §,图示:布尔盲注和BurpSuite-Intruder模块使用-SQL注入-web安全

      3. 由于只有单变量,使用Sniper默认爆破模式即可

    3. 配置Payloads
      1. 只需配置1个字段,测试长度,我们这里使用Numbers
      2. 我们这里简单设置1-100
    4. 他配置默认,暂时不修改,执行start attack

    结果分析,图示:布尔盲注和BurpSuite-Intruder模块使用-SQL注入-web安全

    1. 对结果,根据Length排序,发现,当长度=8时,明显和其他不一致,点击查看response,结果为正常返回页面,也就是说数据库长度为8

    下面就是暴力破解数据库名,方式同上,这里不再详细讲解。

版权声明:玥玥 发表于 2021-08-14 19:27:33。
转载请注明:布尔盲注和BurpSuite-Intruder模块使用-SQL注入-web安全 | 女黑客导航