看我如何使用資料格式混淆來繞過WAF進行攻擊

2021-09-23 05:37:40 字數 933 閱讀 1521

本文講的是看我如何使用資料格式混淆來繞過waf進行攻擊?

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

1. 使用content-type http標頭進行檢查

2. 使用最適合的資料型別

3. 手動配置每乙個資料的資料型別。

上述的第一種方法是確實是很合理的,不過它有很嚴重的缺點。首先,不是所有的資料字段都會有乙個content-type資訊。舉個很簡單的例子,比如你使用get方法傳送乙個引數:

?jdata=
其次,攻擊者可以修改預設的content-type值。所以伺服器信任傳輸進來的資料顯然不是乙個很好的防禦選擇。

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

?injection=
上述**就相當於執行了:

' union select 1,2,password,4 from users--a-
但是在防禦系統的json直譯器中,這個資料看起來就不太一樣:

防火牆會對json資料中的每乙個鍵以及對應的數值進行檢測。因為這些鍵名以及鍵值都不會被檢測為攻擊,不過他們連線到一起就是攻擊**,由於json直譯器的存在,導致了我們這些**進行了組合,然後攻擊利用成功。

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

<?xml  version="1.0"?>i'm an xml. trust me!
原文發布時間為:2023年6月2日

如何在ROS中使用PCL 資料格式(1)

在ros中點雲的資料型別 在ros中表示點雲的資料結構有 sensor msgs pointcloud sensor msgs pointcloud2 pcl pointcloud 關於pcl在ros的資料的結構,具體的介紹可查 看 wiki.ros.org pcl overview 關於senso...

理解和使用Json資料格式

花括號 括起來的資料是乙個物件。中括號 括起來的資料們是乙個陣列。簡單看看這個json資料。cmds cmd1 cmd2 cmd3 obj2 首先先看清你看到的是乙個物件還是乙個陣列。obj1 和 obj2 就是物件。而物件中的files 和 cmds 就是陣列。物件中的元素可以使用 key val...

Ajax使用JSON資料格式案例

1 json j ascriptobject notation 一種簡單的資料格式,比xml更輕巧。json是j ascript原生格式,這意味著在j ascript中處理json資料不需要任何特殊的api或工具包。json的規則很簡單 物件是乙個無序的 名稱 值 對 集合。乙個物件以 右括號 結束...