IPS攻擊規避技術之URL混淆
IPS作為企業防護系統,也如同傳統防護系統IDS一樣,并非是牢不可破的。通過TCP/IP協議IPS處理機制問題的漏洞和RPC協議進行IPS攻擊規避是常見的攻擊規避方式。而本篇文章所要介紹的通過URL混淆方式來實施IPS攻擊規避是通過IPS產品的URL過濾機制的漏洞所實現的。
這類規避方式主要包括如下幾種:
采用轉義符“%”將字符用16進制表示
采用轉義符“%u”將字符用UNICODE方式表示
隨機插入“//”,“/./”和“”字符
隨機變換大小寫
用tab符(0x09或0x0b)或回車符(0x0d)做分隔符
加入干擾字符串
以CVE-1999-0070為例,該漏洞產生原因是NCSA HTTPd和早期的Apache Web Server自帶了一個名為“test-cgi”的Shell CGI腳本,通常位于“/cgi-bin”目錄,用于測試Web服務的配置是否已經可以正常地使用CGI腳本。test-cgi腳本的實現上存在輸入驗證漏洞,遠程攻擊者可能利用此漏洞遍歷主機的目錄,查看目錄下的內容,因此檢測該攻擊的特征碼一般包含“cgi-bin/test-cgi”這個字符串,該攻擊概念驗證(PoC)如下:
GET /cgi_bin/test-cgi?/* HTTP/1.1
對該PoC的URL進行混淆后可以得到如下所示的URL格式:
不幸的是這些混淆后的形式都是WEB服務器可接受的,顯然要避免這種攻擊的漏報,IPS就不能在原始URL中進行特征匹配操作,而應先對URL進行恢復和整理后再進行規則檢測等操作。
【編輯推薦】