中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何通過濫用SSL與TLS繞過Web應用程序防火墻

發布時間:2021-12-14 17:42:57 來源:億速云 閱讀:249 作者:柒染 欄目:網絡管理

這篇文章給大家介紹如何通過濫用SSL與TLS繞過Web應用程序防火墻,內容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。

介紹

近些年來,Web安全已經逐漸變成了IT安全領域里非常重要的一個部分。Web應用的優勢就在于開發人員可以在較短的時間內集成各種關鍵服務,而且維護難度也比傳統的桌面端應用程序要低很多。除了設計新的Web標準之外,企業對Web應用的安全需求也在不斷變化。我們將跟大家介紹一種針對防火墻的新型繞過技術。

漏洞背景

近期,我對某公司的網絡防火墻進行了測試,該公司所部署的基礎設施架構如下:

如何通過濫用SSL與TLS繞過Web應用程序防火墻

當我拿到我所需要的數據信息之后,我打算嘗試一些不同的繞過方法來對其基礎設施進行滲透測試。除了一些常規的WAF測試方法之外,我準備利用SSL Cypher來繞過WAF。當我第一次登錄WAF時,系統彈出了一個“Unsupported SSL Ciphers”警告信息,這就非常有意思了,查看了詳細的產品文檔之后,我獲取到了該設備支持的所有SSL Cypher,但是在開始之前我想跟大家簡單介紹一下SSL連接的工作機制。

SSL握手由下面三個主要步驟組成:

ClientHello/ServerHello階段

握手過程由客戶端發送的ClientHello消息開始,這條消息包含了服務器端需要的全部信息。服務器端受到連接消息之后會響應一條ServerHello消息,其中包含了客戶端所需要的信息。除此之外,服務器還會返回需要使用到的相關Cypher套件版本以及SSL版本。

證書交換

連接初始化完成之后,服務器需要向客戶端提供身份驗證信息,服務器會給客戶端發送SSL證書,客戶端會驗證證書的真實性,并確定是否可以信任該證書,然后繼續完成連接。

密鑰交換

此時安全信道以建立成功,服務器和客戶端會交換用于加密和解密數據的密鑰。

攻擊思路

我的攻擊思路如下:如果我使用一個“不被WAF支持”的SSL Cypher來跟目標Web服務器進行初始化連接,而這個Web服務器實際上是支持這個Cypher版本的,那么WAF就無法識別我所進行的攻擊了,因為它無法查看到真實的請求數據。

因此,在查看了防火墻廠商所提供的詳細技術文檔之后,我提取出了所有支持的SSL Cypher,相關內容如下所示。

SSLv3

SSL_RSA_WITH_NULL_MD5SSL_RSA_WITH_NULL_SHASSL_RSA_WITH_RC4_128_MD5SSL_RSA_WITH_RC4_128_SHASSL_RSA_WITH_DES_CBC_SHASSL_RSA_WITH_3DES_EDE_CBC_SHASSL_RSA_EXPORT_WITH_RC4_40_MD5SSL_RSA_EXPORT_WITH_DES40_CBC_SHA

TLS/1.0-1.2

TLS_RSA_WITH_NULL_SHA256TLS_RSA_WITH_AES_128_CBC_SHATLS_RSA_WITH_AES_256_CBC_SHATLS_RSA_EXPORT1024_WITH_RC4_56_MD5TLS_RSA_EXPORT1024_WITH_RC4_56_SHATLS_RSA_WITH_AES_128_CBC_SHA256TLS_RSA_WITH_AES_256_CBC_SHA256TLS_RSA_WITH_RC4_128_MD5= { 0x000x04 }TLS_RSA_WITH_RC4_128_SHA= { 0x000x05 }TLS_RSA_WITH_DES_CBC_SHA= { 0x000x09 }

接下來要做的就是識別目標Web服務器所支持的SSL Cypher了,這一步有很多種方法可以實現,但我選擇利用sslscan這款工具,因為它安裝起來比較簡單,而且還可以提供非常多的詳細數據。

pwn@thinkpad:~$sudo apt install sslscanReadingpackage lists... DoneBuildingdependency tree      Readingstate information... DoneThefollowing NEW packages will be installed:  sslscan0upgraded, 1 newly installed, 0 to remove and 0 not upgraded.Needto get 26,7 kB of archives.Afterthis operation, 81,9 kB of additional disk space will be used.Get:1http://al.archive.ubuntu.com/ubuntu bionic/universe amd64 sslscan amd641.11.5-rbsec-1.1 [26,7 kB]Fetched26,7 kB in 0s (73,8 kB/s) Selectingpreviously unselected package sslscan.(Readingdatabase ... 177002 files and directories currently installed.)Preparingto unpack .../sslscan_1.11.5-rbsec-1.1_amd64.deb ...Unpackingsslscan (1.11.5-rbsec-1.1) ...Processingtriggers for man-db (2.8.3-2) ...Settingup sslscan (1.11.5-rbsec-1.1) ...pwn@thinkpad:~$sslscan http://target/ | grep Accept

上述命令可以列舉出目標Web服務器支持的所有SSL/TLS版本以及Cypher。通過將sslscan的掃描結果與產品文檔數據進行對比之后,我發現了Web應用防火墻不支持但Web服務器支持的Cypher:

Accepted TLSv1 256 bits ECDHE-RSA-AES256-SHA

為了測試我的攻擊思路是否正確,我創建了一條WAF規則,它會屏蔽請求路徑為/ssl-cipher-test的網絡請求。

訪問這條路徑之后,連接便會被成功屏蔽:

如何通過濫用SSL與TLS繞過Web應用程序防火墻

利用這種繞過技術的最快方法就是指定客戶端所使用的Cypher,只留下一個就可以了。你可以利用curl的“—ciphers”命令來指定需要使用的Cypher,這里我指定使用ECDHE-RSA-AES256-SHA:

pwn@thinkpad:~$curl --ciphers ECDHE-RSA-AES256-SHA https://waf-test.lab.local/ssl-cipher-test<htmllang=en>  <title>HELLO </title>  <p>Bypass worked</p>pwn@thinkpad:~$

大家可以從響應信息中看到,我們已經成功繞過了Web應用防火墻。

關于如何通過濫用SSL與TLS繞過Web應用程序防火墻就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

屯门区| 尉犁县| 东港市| 东源县| 定远县| 海丰县| 肥城市| 阳信县| 天津市| 甘孜县| 广饶县| 吴江市| 酒泉市| 晋宁县| 朝阳县| 靖边县| 桐乡市| 灌阳县| 广河县| 滁州市| 卫辉市| 永登县| 宁国市| 淮滨县| 平乐县| 泸定县| 潮州市| 黎平县| 剑河县| 江永县| 来宾市| 翁源县| 桂平市| 彭泽县| 潜山县| 马边| 麻江县| 名山县| 柘城县| 永嘉县| 板桥市|