研究过国内外的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. C语言 百炼成钢3

    //题目7:用*号输出空心菱形图案 #define _CRT_SECURE_NO_WARNINGS #include<stdio.h> #include<stdlib.h> # ...

  2. Anaroid WebView 的属性汇总

    1. 打开网页时不调用系统浏览器, 而是在本WebView中显示: mWebView.setWebViewClient(new WebViewClient(){ @Override public bo ...

  3. [译]Canvas的基本用法

    在本文章中 <canvas> 元素 替换内容 </canvas> 标签不可省 渲染上下文(The rendering context如何翻译) 检查支持性 一个模板骨架 一个简 ...

  4. javascript中prototype、constructor以及__proto__之间的三角关系

    三者暧昧关系简单整理 在javascript中,prototype.constructor以及__proto__之间有着“著名”的剪不断理还乱的三角关系,楼主就着自己对它们的浅显认识,来粗略地理理以备 ...

  5. 高层次综合(HLS)-简介

    本文是我近段时间的学习总结,主要参考了Xilinx的技术文档以及部分网上其他资料.文档主要包括ug998<Introduction to FPGA Design Using High-Level ...

  6. (原创)JS闭包看代码理解

    <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="C ...

  7. java <? super Fruit>与<? extends Fruit>

    package Test2016; import java.util.ArrayList; import java.util.List; public class Test2016 { public ...

  8. 你所不知道的Python奇技淫巧

    有时候你会看到很Cool的Python代码,你惊讶于它的简洁,它的优雅,你不由自主地赞叹:竟然还能这样写.其实,这些优雅的代码都要归功于Python的特性,只要你能掌握这些Pythonic的技巧,你一 ...

  9. EF实体框架之CodeFirst二

    在codefirst一中也说了Mapping是实体与数据库的纽带,model通过Mapping映射到数据库,我们可以从数据库的角度来分析?首先是映射到数据库,这个是必须的.数据库里面一般包括表.列.约 ...

  10. IE8/9的console之坑

    这几天遇到个深坑,在改别人代码时,发现ajax在ie8下请求不成功.清理了缓存后,可以请求成功!(清理缓存只是表象而已,后文说原因) 后来慢慢看代码,发现ajax成功回调了!在success回调里,我 ...