sql注入关于waf的绕过

  • 关于Waf绕过可大致分为三类:
  • 一、白盒绕过
  • 二、黑盒绕过
    • 1、架构层面绕过waf
      • 1.1、寻找源网站绕过waf检测
      • 1.2、通过同网段绕过waf防护
    • 2、资源限制角度绕过waf
    • 3、协议层面绕过waf
      • 3.1、协议为覆盖绕过waf
      • 3.2、参数污染
    • 4、规则层面绕过
      • 4.1、sql注释符绕过
      • 4.2、空白符绕过
      • 4.3、函数分隔符号
      • 4.4、浮点数词法解释
      • 4.5、利用error-based进行sql注入
      • 4.6、mysql特殊语法
      • 4.7、大小写绕过
      • 4.8、关键字重复
      • 4.9、关键字替换
  • 三、模糊测试

提示:以下是本篇文章正文内容,下面案例可供参考

关于Waf绕过可大致分为三类:

1.白盒绕过
2.黑盒绕过
3.fuzz测试(模糊测试)

一、白盒绕过

通过源码分析,来进行绕过,比如sqli-labs的less-25题

二、黑盒绕过

1、架构层面绕过waf

1.1、寻找源网站绕过waf检测

主要针对的是云waf,找到原网站的真实地址,类似于CDN。

什么是云waf呢?比如你想对一个服务器进行sql注入测试,然后你对他输入sql注入语句,你输入的这个sql注入语句并不会直接到达服务器,如果这个服务器存在云waf保护,你输入的这个语句就得先传给云waf,等云waf检验没有问题之后才会才传给服务器,如果检验有问题,就扔给你了,不在传给服务器。

之所以说他像CDN,得先了解CDN是什么。比如有的服务器同时会有好多人来访问它,他不堪其重,它可以把自己的一部分数据保存在另外一个CDN服务器上,你访问它的时候,可能就会先传给CDN服务器,所以说他们两很像,服务器没有直接接收数据,而是先由中间人接收,然后没问题了,中间人才传给服务器

1.2、通过同网段绕过waf防护

主要针对于在一个网段中,可能经过的数据不会经过云waf,从而实现绕过

就相当于在同一个网段中,有A,B两台主机,你是想攻击A的,但A有waf防护,你不好攻击,你可以先攻击B,拿到B的权限后,再通过B去攻击A,可能B和A在同一个网段中,A没有对B设置waf防护

2、资源限制角度绕过waf

一般waf的执行需要优先考虑业务优先的原则,所以对于构造较大,超大数据包可能不会进行检测,从而绕过waf

一般情况下,get可以传送的数据包远小于post传送的数据包,所以可以使用post来进行传值绕过,但这样的漏洞一般存在于文件上传当中

3、协议层面绕过waf

3.1、协议为覆盖绕过waf

比如由于业务需要,只对get进行检测,而对post数据选择忽略

3.2、参数污染

比如index?id=1&id=2这种情况,waf可能值对id=1进行检测,所以可以通过id=2绕过

4、规则层面绕过

4.1、sql注释符绕过

union /**/select 我们将union select之间的空格使用注释符进行替换(适用于对union select之间的空格进行检测的情况)

union/crow%032#/select,我们可以在注释符中填写内容

union/cdsfsdasdsazxczxsadsadasdasdadasdasddsda2#/select构造较大数据

/!union select/ 内联注释,mysql独有

4.2、空白符绕过

mysql空白符:%09,%0A,%0B,%0D,%20,%0C,%A0;/XX/

%09 TAB 键(水平)
%0a 新建一行
%0c 新的一页
%0d return 功能
%0b TAB 键(垂直)
%a0 空格

正则空白符:%09,%0A,%0B,%0D,%20
%25其实就是百分号,所以%25A0也是空白符

4.3、函数分隔符号

将一个函数进行分割concat()
concat%2520(
concat/**/(
concat%250C(
concat%25a0(

4.4、浮点数词法解释

waf对于id=1可以进行检测,但对于id=1E0、id=1.0、id=\N可能无法进行检测

4.5、利用error-based进行sql注入

比如updatexml
extractvalue

4.6、mysql特殊语法

select {x schema_name} from {x information_schema.schemata}

select {x 1}

4.7、大小写绕过

因为mysql对大小写不敏感,所以如果他过滤了or或者and之类的,我们可以用Or,或者AnD之类的进行绕过

4.8、关键字重复

比如它过滤了or,我们可以用oorr进行代替,在他过滤or之后,换剩下了or

4.9、关键字替换

比如and替换为&&
or替换为||
like替换为=
!=替换为<>

三、模糊测试

可以使用burpsuite配合手工进行测试,然后配合脚本进行处理

比如
/*ddhjjasjkasdascxzjkcxzcmbnzx##'231321*/
它可以在注释符中的内容到达一定长度后,不在进性防护,但具体到哪一个长度,需要配合bp进行测试

sql注入关于waf的绕过相关推荐

  1. Kali Linux Web 渗透测试视频教程—第十一课-扫描、sql注入、上传绕过

    Kali Linux Web 渗透测试视频教程-第十一课-扫描.sql注入.上传绕过 文/玄魂 原文链接:http://www.xuanhun521.com/Blog/2014/10/25/kali- ...

  2. SQL注入-SQL注入的WAF绕过(十六)

    实验目的 普及熟悉利用重写等方式绕过WAF关键字过滤.以实现SQL注入的方法.PS:面试时不要说打WAF靶场什么东西,就说重复大小写编码什么之类的 基本概念 WAF(WebApplicationFir ...

  3. sql注入空格被过滤_网站渗透:SQL注入与WAF绕过思路分享

    一.前言 这个注入是之前做测试时发现的,但是测试的时候发现有防护,但是想想这么个小网站都绕不过,实在不应该啊.开始补充学习各种场景.各种waf绕过姿势,勉勉强强的成功执行我构造的SQL的语句.趁着还有 ...

  4. SQL注入和WAF绕过总结姿势

    自己复习专用,大佬勿喷 文章目录 前言 一.注入手法 联合注入 报错注入 布尔盲注 延时注入 堆叠注入 二.绕过姿势 绕过空格 注释符 括号 引号绕过(使用十六进制) 逗号绕过(使用from或者off ...

  5. 【SQL注入技巧拓展】————4、高级SQL注入:混淆和绕过

    [0×01] – 简介 大家好,这是一篇致力于文档化我们所从事的高级SQL注入技术的文章. 本文将要揭示能用于现实CMSs和WAFs程序中的高级绕过技术和混淆技术.文中所提到的SQL注入语句仅仅是一些 ...

  6. sql注入(三)绕过方法及防御手段

    一.sql注入的绕过方法 1.注释符过滤绕过 常用的注释符有: 1)-- 注释内容 2)# 注释内容 3)/* 注释内容 */ 绕过方法 构造闭合: ?id=1' and sql语句 and '1'= ...

  7. SQL注入10之防御绕过

    免责声明 该文章仅用于信息防御技术的交流和学习,请勿用于其他用途: 在未得到网站授权前提下,禁止对政府.事业单位.企业或其他单位网站及系统进行渗透测试:技术是把双刃剑,请遵纪守法,做一名合格的白帽子安 ...

  8. 什么是SQL注入,防御、绕过

    SQL注入漏洞 什么是SQL注入? SQL注入是因为web应用程序对用户输入数据的合法性没有判断或过滤不严,攻击者可以在web应用程序中事先构造SQL语句,实现非法操作,从而实现对后台数据库的恶意操作 ...

  9. SQL注入一些过滤及绕过总结

    前言: 前几天做了几道SQL注入的题,一上去就遇到这样那样的过滤,弄得我很难受,所以这里写一篇关于过滤一些的总结. 1.过滤关键字 过滤关键字应该是最常见的过滤了,因为只要把关键字一过滤,你的注入语句 ...

最新文章

  1. MySQL 性能优化之高阶神技
  2. opencv亚像素点检测
  3. Android开发之自定义Spinner样式的效果实现(源代码实现)
  4. (笔试题)程序运行时间
  5. Hibernate工作原理(1)
  6. L. Coordinate Paper(CCPC 长春)构造
  7. Adaline神经网络简单介绍和MATLAB简单实现
  8. Java I/O之字节流与字符流的区别
  9. 核心技能点-二分查找
  10. 如何安装火狐浏览器插件
  11. 【python实现网络爬虫21】天眼查企业数据获取
  12. 联结全球技术桥梁,TGO 鲲鹏会台北分会将于 6/24 成立
  13. sublime license key
  14. 给自己:得失心莫太重,功利心莫太强
  15. Typro的基础使用以及画图
  16. python源码实例之根据生日预测星座和属相以及属相对应年份(附源码 可供学习)
  17. Easy UI DataGrid 导出Excel表格
  18. idea几款好用的插件
  19. Windows 11 即将问世 | Windows 10 和 Windows 11 该如何抉择
  20. 项目场景: gyp verb check python checking for Python executable python2 in the PATH

热门文章

  1. SwitchHosts一个修改、管理、切换多个hosts 方案的开源工具
  2. 自从主人在浴室摔倒之后,狗狗开始每晚哀嚎!你永远想不到狗狗把你看得多重要…...
  3. 在Centos 7.5上使能intel UHD 630显卡(Coffee Lake)
  4. 向淘宝生态圈看齐——阿里云“云合计划”
  5. 金狗贺岁| 云和恩墨恭祝新年快乐
  6. python画图--坐标轴中文显示
  7. Xshell常用命令大全(附常用实例)
  8. html语言表格标记符号,html标记中哪个标记表示表格
  9. 多视角几何1-理想点、无穷远线、圆锥曲线
  10. java 线程池 使用实例