WEB漏洞-SQL注入之堆叠查询及WAF绕过

堆叠注入
语句:

select username from user where id = 1;select password from user;

在原本的语句后面加上分号使其结束,再在后面写上另外的查询语句。
相当于自己又加入了一条查询语句,两条语句一起查询。
在这里插入图片描述
堆叠注入实现例子
在这里插入图片描述
后面加入的语句与功能自己按需要构造

绕过WAF

在这里插入图片描述
安全狗
提交方式绕过

目标网站有安全狗,并对url进行拦截时
如果目标网站的接收方式是$_REQUEST(即可接收GET提交,也可以接收POST提交),则可以,通过post去提交参数进行注入。

注释绕过:/**/

例子:
当安全狗匹配union与select组合时,可以用
union %23a %0a select 1,2,3#
相当于语句:
union #a
select 1,2,3#
在union后加上#把当前行后面的注释掉,然后%0a换行,再用select语句

参数污染
如果在各各语言http传参时,传入两个相同参数不同值时,接收的是第一个参数的值,还是最后一个参数的值(www.xxx.com/index.php?id=1&id=3):
在这里插入图片描述
Last:最后一个参数
First:第一个参数
All:所有参数拼接

例子:
www.xxx.com/index.php?
id=1/**&id=-1%20union%20select%201,2,3%23*/
因为注释符等等的干扰,安全狗认为id=1后面的代码没有用,
实现绕过。
当参数名相同,且服务器接收最后一个时,则接收的内容是
-1 union select 1,2,3#*/
实现注入
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Web应用程序防火墙(WAFWeb Application Firewall)是一种网络安全设备或服务,用于检测和阻止针对Web应用的攻击,包括SQL注入等。SQL注入是攻击者通过恶意输入,将SQL代码插入到应用程序的数据库查询中,意图获取敏感信息或篡改数据。 WAF绕过SQL注入通常是攻击者针对WAF安全策略和技术限制来实施的一种技术手段,常见的方法包括: 1. **参数编码和转义**: 攻击者可能会尝试使用特殊字符的转义序列,如\"\'(单引号)或\"\"(双引号),来欺骗WAF,使其误判为合法的输入。 2. **利用WAF规则漏洞**: 一些老旧或配置不当的WAF可能无法识别复杂的注入模式,攻击者会利用这些漏洞进行攻击。 3. **HTTP头部注入**: 攻击者可能会尝试将SQL注入嵌入到HTTP头部请求中,有些WAF可能只关注请求体而忽视头部。 4. **使用存储过程或动态SQL**: 通过调用服务器端已存在的存储过程,或者构造动态SQL,使攻击难以被WAF直接拦截。 5. **利用API或JSON Web Token (JWT)**: 如果攻击发生在API层面,攻击者可能会利用API的认证机制,将SQL注入隐藏在合法的API调用中。 6. **社会工程学攻击**: 通过利用用户信任或权限漏洞,让目标用户执行包含SQL注入的恶意操作。 要防止WAF绕过,应不断更新和强化WAF规则,同时采用多重防御策略,比如使用参数化查询、输入验证、异常处理和对用户输入的深度检查。此外,定期审计和安全测试也是防止此类攻击的重要手段。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值