sql注入之 updatexml+concat实现数据库回显

1.updatexml+concat
普通mysql数据库如下
在这里插入图片描述
在这里插入图片描述
现有如下sql查询命令

select username from user where userid=1 and updatexml(123,concat('~',(select database()),'~'),32142144);

执行结果如下
在这里插入图片描述
回显了数据库名 homework
这里首先用到了updatexml(目标xml文档,xml路径,更新的内容)函数
这只是一个普通的函数但是 updatexml函数具有查询功能 并且会再xpath处查询 你将语法构造错误 然后它就会将他查询的结果已报错的形式显示出来
然后说到concat函数(字符串1,字符串2,字符串。。。。) 在其中放入可执行函数会被执行,ps:需要用()将其包裹如下
在这里插入图片描述
查询了当前数据库名字和当前user的名字 中间加了一个字符2

所以对于刚才的updatexml的利用就解释的通了。updatexml主要的功能就是报错出需要的执行结果 ,concat函数执行主要的payload。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值