mysql报错注入

文章讨论了在MySQL中使用updatexml函数时可能出现的路径报错问题,特别是涉及特殊字符如~!#时。提到了利用concat函数拼接字符串进行注入尝试,以及由此引发的子查询返回多于一行的错误。为解决这个问题,文章提出了两种方法:一是使用group_concat函数拼接查询结果,二是通过limit限制子查询返回的数量,以避免错误发生。
摘要由CSDN通过智能技术生成

把你的想得到的数据放在报错中显示给你看

updatexml(目标xml内容,xml文档路径,更新的内容)

路径报错使很严重的报错

mysql路径不能出现特殊字符 ~ ! #

concat()拼接字符串

updatexml(1,concat('#',database()),1)

因为有url编码的转换

所有直接转换

and (updatexml(1,concat(0x7e,(select database()),0x7e),1));%23

报错的结果是字符串,所有需要使用limit 0,1来限定

首先,要搞清楚一个函数的使用方法

然后报错注入使用的时候会有一个问题

Subquery returns more than 1 row

子查询返回的结果多于一行

所以,我们有两种方法

第一

group_concat

这个函数的使用使将查询结果全部拼接输出

所以用法是对查询的表进行使用

所以是

Select group_concat(表名字) from

第二

Limit 0,1 0表示的是位数,1表示的是个数

这个是对子查询的数量进行限制。

就不会报错了

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值