SQL注入之堆叠及WAF绕过堆叠注入

SQL注入之堆叠及WAF绕过堆叠注入:

堆叠注入:多条SQL语句一起执行,本质上就是将多条SQL语句通过 ;来一起注入
WAF绕过:更改提交方式,但是必须保证参数可以通过不同的提交方式接受;若拦截了数据,如database()等,可以通过大小写,加密解密,编码函数,等价函数(例如用mid取代ascii),特殊符号(不影响SQL语句正常执行,而可以绕过WAF正则表达式的搜索),反序列化,
注释符混用
(例如 select database()被拦截,但select (),select database均可以执行,所以可以通过select database/**/()来执行,这个/星号星号/为MySQL特有注释符,不会影响SQL语句执行)等,union %23a%0Aselect 1,2;会变成union #a
select 1,2,3可以绕过WAF

往字符里面插入被过滤的字符(双写法)
比如or被过滤了,我们可以往里面加or,即注入:oorr,这个时候里面的or就被删去了,剩下的组成新字符,也就是or,是个很好用的绕过方法,像这种类似的还有很多;or被过滤也可以采用||来代替or,且||比or的作用更强,||后是绝对的另一种情况,例如orupdatexml(1,1,1)不会执行,但是||updatexml(1,1,1)是可以执行的。
对于过滤了空格,有较多的方法代替空格:
      %09 TAB(水平)
      %0a 新建一行
      %0c 新的一页
      %0d return功能
      %0b TAB(垂直) (php-5.2.17,5,3,29成功)
      %a0 空格 (php-5.2.17成功)
      %27 单引号
若均不可以,还可以采用用()来代替空格的作用,例如select 1,2,3 from users 可以写作select(1,2,3)from(users)
HTTP参数污染,例如?id=1&id=3在不同服务器下对id的处理方式不同,例如阿帕奇接受原则是last
所以可以通过?id=1/**&id=-1%20union%20select%201,2,3%23*/安全狗在检测的时候由于/xxx/ 会注释其中内容,所以检测不到
但是当执行时由于参数污染,所以会执行&id=-1%20union%20select%201,2,3%23
/,%20空格,%23# %0A为换行符。(内联注释)
版本号绕过(针对MySQL):/!50001select * from test/ 只有5.00.01以上版本才会执行,以下的会当成注释内容
修改白名单IP:利用在请求包里加上x-forwarded-for:白名单ip等
静态资源请求:一些特定的静态资源后缀请求,如.js , .jpg, .swf , .css等,waf为了提高检测效率,不会过滤这些请求,所以可以index.php/x.txt/? id=1 and 1=1
url白名单:有一些路径为白名单,可能不会被拦截,如admin.php等
爬虫白名单:部分waf有提供爬虫白名单的功能,识别爬虫的技术有两种
1根据UserAgent,可以伪装
2根据行为判断

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Web应用程序防火墙(WAF,Web 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、付费专栏及课程。

余额充值