研究过国内外的waf。分享一些绝技。

一些大家都了解的技巧如:/*!*/,SELECT[0x09,0x0A-0x0D,0x20,0xA0]xx FROM 不再重新提及。

以下以Mysql为例讲述这些技巧:

tips1: 神奇的  (格式输出表的那个控制符)

绕过空格和一些正则匹配。

Default
mysql> select`version`()
-> ;
+----------------------+
| `version`() |
+----------------------+
| 5.1.50-community-log |
+----------------------+
1 row in set (0.00 sec)
1
2
3
4
5
6
7
8
mysql> select`version`()
    -> ;  
+----------------------+  
| `version`()          |  
+----------------------+  
| 5.1.50-community-log |  
+----------------------+  
1 row in set (0.00 sec)

一个更好玩的技巧,这个控制符可以当注释符使用(限定条件)。

Default
mysql> select id from qs_admins where id=1;`dfff and comment it;
+----+
| id |
+----+
| 1 |
+----+
1 row in set (0.00 sec)
1
2
3
4
5
6
7
mysql> select id from qs_admins where id=1;`dfff and comment it;
+----+  
| id |  
+----+  
| 1  |  
+----+  
1 row in set (0.00 sec)

usage : where  id =’0’`’xxxxcomment on.

tips2:神奇的- + .

(注意这里是 – + . 三个符号)

Default
mysql> select id from qs_admins;
+----+
| id |
+----+
| 1 |
+----+
1 row in set (0.00 sec)

mysql> select+id-1+1.from qs_admins;
+----------+
| +id-1+1. |
+----------+
| 1 |
+----------+
1 row in set (0.00 sec)

mysql> select-id-1+3.from qs_admins;
+----------+
| -id-1+3. |
+----------+
| 1 |
+----------+
1 row in set (0.00 sec)

(有些人不是一直在说关键字怎么过?过滤一个from ...    就是这样连起来过)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
mysql> select id from qs_admins;
+----+
| id |
+----+
| 1  |
+----+
1 row in set (0.00 sec)
 
mysql> select+id-1+1.from qs_admins;
+----------+
| +id-1+1. |
+----------+
| 1        |
+----------+
1 row in set (0.00 sec)
 
mysql> select-id-1+3.from qs_admins;
+----------+
| -id-1+3. |
+----------+
| 1        |
+----------+
1 row in set (0.00 sec)
 
(有些人不是一直在说关键字怎么过?过滤一个from ...    就是这样连起来过)

tips3: @

Default
mysql> select@^1.from qs_admins;
+------|+
| @^1. |
+------|+
| NULL |
+------|+

这个是bypass  曾经dedeCMS filter .

1
2
3
4
5
6
7
8
mysql> select@^1.from qs_admins;
+------|+
| @^1. |
+------|+
| NULL |
+------|+
 
这个是bypass  曾经dedeCMS filter .

tips4:mysql function() as xxx  也可以不用as 和空格

Default
mysql> select-count(id)test from qs_admins;
+------|+
| test |
+------|+
| -1 |
+------|+
1 row in set (0.00 sec)
1
2
3
4
5
6
7
mysql> select-count(id)test from qs_admins;  
+------|+  
| test |  
+------|+  
| -1   |  
+------|+  
1 row in set (0.00 sec)

tips5:/*![>5000]*/ 新构造  版本号(这个可能有些过时了。)

Default
mysql> /\*!40000select\*/ id from qs_admins;
+----+
| id |
+----+
| 1 |
+----+
1 row in set (0.00 sec)
1
2
3
4
5
6
7
mysql> /\*!40000select\*/ id from qs_admins;
+----+
| id |
+----+
|  1 |
+----+
1 row in set (0.00 sec)

91ri.org小编语:waf现在作为防御入侵者的一道门槛,正在被逐渐的加强。而对绕过这类防护措施的各种技巧的研究也有助于安全研究者进一步认识自身不足,继续奋斗!上述这些想法思维能力真心NB。

好东西更需要分享给大家。

相关文章推荐《利用MySQL隐形类型转换绕过WAF》《通过HTTP参数污染绕过WAF拦截

link:http://drops.wooyun.org/tips/132 (对原文稍作改动)

原文地址:http://www.91ri.org/6372.html

WAF绕过的技巧的更多相关文章

  1. Burpsuit分块传输插件绕WAF原理和技巧(转)

      0x00 原理 给服务器发送payload数据包,使得waf无法识别出payload,当apache,tomcat等web容器能正常解析其内容.如图一所示 0x02  实验环境 本机win10+x ...

  2. 16. 再说 WAF 绕过

    1,大小写混排 这可以算最容易想到的方式了.大小写绕过用于只针对小写或大写的关键字匹配技术,正则表达式 /express/i 大小写不敏感即无法绕过,这是最简单的绕过技术. 举例: z.com/ind ...

  3. 基于HTTP协议的WAF绕过

    一,畸形包绕过 1.先关闭burpsuite长度更新,为get请求,先使用bp的method转换为POST请求 2.get请求中空格使用%20代替,Connection改为keep-alive 二,分 ...

  4. 从偶然的机会发现一个mysql特性到wooyun waf绕过题

    从偶然的机会发现一个mysql特性到wooyun waf绕过题 MayIKissYou | 2015-06-19 12:00 最近在测试的时候,偶然的机会发现了一个mysql的特性, 为啥是偶然的机会 ...

  5. WAF绕过神器 (过安全狗、智创SQL注入)

    WAF绕过神器 (过安全狗.智创SQL注入) 发布时间:-- :10文章来源:网络文章作者:panni007 点击次数: 次 分享到: QQ空间 QQ微博 新浪微博 开心网 人人网 摘要:起因: by ...

  6. 渗透测试学习 二十八、WAF绕过详解

    大纲: WAF防护原理讲解 目录扫描绕过WAF 手工注入绕过WAF sqlmap绕过WAF 编写salmap绕过WAF 过WAF一句话编写讲解 菜刀连接绕过WAF webshell上传绕过WAF 提权 ...

  7. 各种WAF绕过手法学习

    原文:https://mp.weixin.qq.com/s/aeRi1lRnKcs_N2JLcZZ0Gg 0X00    Fuzz/爆破 fuzz字典 1.Seclists/Fuzzing https ...

  8. 风炫安全WEB安全学习第二十六节课 XSS常见绕过防御技巧

    风炫安全WEB安全学习第二十六节课 XSS常见绕过防御技巧 XSS绕过-过滤-编码 核心思想 后台过滤了特殊字符,比如说

  9. sql注入之堆叠注入及waf绕过注入

    #堆叠查询注入 1.堆叠查询概念 stacked injections(堆叠查询注入)从名词的含义就可以看出一应该是一堆(多条)sql语句一起执行.而在真实运用中也是如此,我们知道在mysql中,主要 ...

随机推荐

  1. VMWare安装苹果操作系统OS X

    项目要求做一些简单的苹果开发尝试,由于苹果的各种开发要求在Macintosh机上进行,可是项目不值得为一次简单的尝试付出过多的购机费,所以只能另辟蹊径,跟别人学学怎么在虚拟机里面搞: http://j ...

  2. bisController

    public class BisController : Controller { // // GET: /Bis/ protected string GetJson(object obj) { Is ...

  3. JS 之继承

    ECMAScript继承是通过原型链来继承的.基本思想是利用原型来让一个引用类型继承另一个引用类型的属性和方法,使原型变为另一个对象的实例.通过原型链实现继承时,不能使用对象字面量创建原型方法,避免重 ...

  4. [CareerCup] 14.1 Private Constructor 私有构建函数

    14.1 In terms of inheritance, what is the effect of keeping a constructor private? 这道题问我们用继承特性时,如果建立 ...

  5. 招聘一个靠谱的ios

    1. 风格纠错题 修改方法有很多种,现给出一种做示例: 最终改为: 下面对具体修改的地方, 2. 什么情况使用 weak 关键字,相比 assign 有什么不同? 什么情况使用 weak 关键字? 1 ...

  6. 20145208 《Java程序设计》第6周学习总结

    20145208 <Java程序设计>第6周学习总结 教材学习内容总结 输入与输出 InputStream与OutputStream 从应用程序角度来看,如果要将数据从来源取出,可以使用输 ...

  7. Javascript设计模式之我见:迭代器模式

    大家好!本文介绍迭代器模式及其在Javascript中的应用. 模式介绍 定义 提供一种方法顺序一个聚合对象中各个元素,而又不暴露该对象内部表示. 类图及说明 Iterator抽象迭代器 抽象迭代器负 ...

  8. 将Mininet与真实网络相连接

    原文发表在我的博客主页,转载请注明出处 前言 Mininet是SDN网络仿真的一大利器,在小规模网络模拟使用上独领风骚,其开源性允许使用者按照自己的需求修改源码,得到想要的数据,其提供了多个函数用来满 ...

  9. 窥探算法之美妙——寻找数组中最小的K个数&python中巧用最大堆

    原文发表在我的博客主页,转载请注明出处 前言 不论是小算法或者大系统,堆一直是某种场景下程序员比较亲睐的数据结构,而在python中,由于数据结构的极其灵活性,list,tuple, dict在很多情 ...

  10. maven integration with eclipse 3.0.4 does not work with NTLM proxy

    Recently downloaded m2e(maven integration with eclipse). The version is 3.0.4. My environment is beh ...