?

Jun 29 2017

看我如何使用數據格式混淆來繞過WAF進行攻擊?

首頁 » 滲透測試 » 看我如何使用數據格式混淆來繞過WAF進行攻擊?   

這個問題目前是沒有成功解決,因為解析相關數據類型需要進行準確的流量分析。很多防火墻只是采用了一些很簡單的方法對這些數據進行處理。在處理HTTP協議中,常見簡單方法如下:

1. 使用Content-Type HTTP標頭進行檢查 2. 使用最適合的數據類型 3. 手動配置每一個數據的數據類型。

上述的第一種方法是確實是很合理的,不過它有很嚴重的缺點。首先,不是所有的數據字段都會有一個Content-Type信息。舉個很簡單的例子,比如你使用GET方法發送一個參數:

?jdata={"json":"here"}

其次,攻擊者可以修改默認的Content-Type值。所以服務器信任傳輸進來的數據顯然不是一個很好的防御選擇。

實際上,大多數的防火墻都會自動選擇數據類型,然后采取最適合的數據解析器。這一種方法可以讓我們采取不一樣的攻擊方法來繞過防火墻的防御。為了能夠利用成功,攻擊者需要像構造json數據那樣,構造攻擊的payload,就比如我們要利用sql注入漏洞

?
1
?injection={"'union/*":"*/select",",2,password, ":" FROM users;#"}

上述代碼就相當于執行了:

?
1
' UNION SELECT1,2,password,4FROM users--a-

但是在防御系統的JSON解釋器中,這個數據看起來就不太一樣:

防火墻會對JSON數據中的每一個鍵以及對應的數值進行檢測。因為這些鍵名以及鍵值都不會被檢測為攻擊,不過他們連接到一起就是攻擊代碼,由于JSON解釋器的存在,導致了我們這些代碼進行了組合,然后攻擊利用成功。

使用同樣的方法,我們可以將我們的payload構造進XML格式中。下面攻擊載荷同樣展示了sql注入的攻擊代碼,不過數據格式為XML:

I'm an XML. Trust me!


如果您喜歡本博客,歡迎點擊圖片定訂閱到郵箱填寫您的郵件地址,訂閱我們的精彩內容:

正文部分到此結束

文章標簽:這篇文章木有標簽

版權聲明:若無特殊注明,本文皆為( mOon )原創,轉載請保留文章出處。

也許喜歡: «application/json 四種常見的 POST 提交數據方式 | 高級SQL注入:混淆和繞過»

你腫么看?

你還可以輸入 250/250 個字

? 微笑 大笑 拽 大哭 親親 流汗 噴血 奸笑 囧 不爽 暈 示愛 害羞 吃驚 驚嘆 愛你 嚇死了 呵呵

評論信息框

這篇文章還沒有收到評論,趕緊來搶沙發吧~

?
?
河北11选5开奖