updatexml()报错注入
首先了解下updatexml()函数
UPDATEXML (XML_document, XPath_string, new_value);
第一个参数:XML_document是String格式,为XML文档对象的名称,文中为Doc
第二个参数:XPath_string (Xpath格式的字符串) ,如果不了解Xpath语法,可以在网上查找教程。
第三个参数:new_value,String格式,替换查找到的符合条件的数据
作用:改变文档中符合条件的节点的值
用MySQL测试一下
新建的user表如图:
查看表所属的数据库为test:
构造注入语句:select name from user where id=1 and updatexml(1,concat('~',(select database()),'~'),3);
发现注入成功,成功爆出数据库名。
解释:由于updatexml的第二个参数需要Xpath格式的字符串,以~开头的内容不是xml格式的语法,concat()函数为字符串连接函数显然不符合规则,但是会将括号内的执行结果以错误的形式报出,这样就可以实现报错注入了。
————————————————
版权声明:本文为CSDN博主「仰望星空world」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_37873738/article/details/88042610
updatexml()报错注入的更多相关文章
- [原题复现][极客大挑战 2019]HardSQL(updatexml报错注入)
简介 原题复现: 考察知识点:SQL注入(报错注入,绕过过滤) 线上平台:https://buuoj.cn(北京联合大学公开的CTF平台 特别感谢!) 榆林学院内可使用信安协会内部的CTF训练平 ...
- [极客大挑战 2019]HardSQL updatexml报错注入小结
报错注入链接: https://www.cnblogs.com/richardlee97/p/10617115.html报错原因: 其原因主要是因为虚拟表的主键重复.按照MySQL的官方说法,grou ...
- 利用updatexml()报错注入mysql
基本介绍一下updatexml() updatexml(XML_document, XPath_string, new_value) XML_document是文档对象的名称 XPath_string ...
- MYSQL updatexml报错注入
首先了解下updatexml()函数 UPDATEXML (XML_document, XPath_string, new_value); 第一个参数:XML_document是String格式,为X ...
- SQL注入--盲注及报错注入
盲注查询 盲注其实就是没有回显,不能直观地得到结果来调整注入数据,只能通过其他方式来得到是否注入成功,主要是利用了一些数据库内置函数来达到的 布尔盲注 布尔很明显Ture跟Fales,也就是说它只会根 ...
- updataxml报错注入
// take the variables//接受变量 // //也就是插入post提交的uname和passwd,参见:https://www.w3school.com.cn/sql/sql_ins ...
- i春秋“百度杯”CTF比赛 十月场-Vld(单引号逃逸+报错注入)
题目源代码给出了提示index.php.txt,打开拿到了一段看不太懂得东西. 图片标注的有flag1,flag2,flag3,同时还有三段字符,然后还出现了_GET,脑洞一一点想到访问 ?flag1 ...
- SQL注入之MySQL报错注入整理
看大佬们的文章看得我虎躯一震,精神抖擞,于是心血来潮,整理一下MySQL报错注入常见的手段和方法,再举几个例子 <代码审计:企业级Web代码安全架构>一书中介绍过报错注入十大方法,依次是: ...
- sql报错注入:extractvalue、updatexml报错原理
报错注入:extractvalue.updatexml报错原理 MySQL 5.1.5版本中添加了对XML文档进行查询和修改的两个函数:extractvalue.updatexml 名称 描述 Ext ...
随机推荐
- Maven中配置jdk的版本
在单个项目中配置 在maven项目的pom.xml文件中加入以下内容 <build> <plugins> <plugin> <groupId>org.a ...
- 批处理执行Testng
@echo off set LIB=项目的jar路径 set CLASSPATH=%LIB%\jar\commons-beanutils-.jar;%LIB%\jar\testng.jar;%LIB% ...
- Kubernetes的pod控制器及ReplicaSet控制器类型的pod的定义
为什么需要Pod Kubernetes项目之所以这么做的原因: 因为Kubernetes是谷歌公司基于Borg项目做出来的,谷歌工程师发现,他们部署的应用往往存在这进程与进程组的关系.具体说呢,就是这 ...
- Docker安装部署ELK教程(Elasticsearch+Kibana+Logstash+Filebeat)
Elasticsearch 是个开源分布式搜索引擎,它的特点有:分布式,零配置,自动发现,索引自动分片,索引副本机制,restful风格接口,多数据源,自动搜索负载等. Logstash 是一个完全开 ...
- Solidity高级用法
1.内存数组: 将数组与memory结合形成内存数组,在函数调用完后就解释 uint[ ] memory values = new uint[ ](3);//初始化了一个长度为3的内存数组: #内存数 ...
- 「NOI2009」植物大战僵尸
「NOI2009」植物大战僵尸 传送门 这是一道经典的最大权闭合子图问题,可以用最小割解决(不会的可以先自学一下) 具体来说,对于这道题,我们对于两个位置的植物 \(i\) 和 \(j\) ,如果 \ ...
- Lucene的初步了解和学习
Lucene的学习一,什么是全文检索 1.数据的分类 1.结构化数据 格式固定,长度固定,数据类型固定. 例如:数据库中的数据: 2.非结构化数据 word文档,pdf文档,邮件,html,txt 格 ...
- C/C++网络编程4——实现基于TCP的服务器端/客户端1
一.TCP服务器调用顺序: 调用socket函数创建套接字:声明并初始化地址信息结构体变量:调用bind函数向套接字分配地址:调用listen函数进入等待连接请求状态,只有调用了listen函数后客户 ...
- leetcode菜鸡斗智斗勇系列(6)--- 检查一个string里面有几个对称的字段
1.原题: https://leetcode.com/problems/split-a-string-in-balanced-strings/ Split a String in Balanced S ...
- 「题解」「美团 CodeM 资格赛」跳格子
目录 「题解」「美团 CodeM 资格赛」跳格子 题目描述 考场思路 思路分析及正解代码 「题解」「美团 CodeM 资格赛」跳格子 今天真的考自闭了... \(T1\) 花了 \(2h\) 都没有搞 ...