實測利用協議解析繞安全狗

2021-08-22 19:08:45 字數 1471 閱讀 6881

這兩天利用協議解析繞過安全狗,雖然最後都失敗了,但是思路還是可以借鑑的,有興趣的可以嘗試繞過其它waf。

協議解析不正確-檔名覆蓋

01.直接上傳php被安全狗攔截

02.修改上傳檔案的字尾名為.pho,成功上傳,沒有被安全狗攔截

03.嘗試利用multipart協議解析問題,乙個檔案上傳塊存在多個content-disposition,將以最後乙個content-disposition的filename值作為上傳的檔名。

被安全狗攔截。

利用在乙個content-disposition 中,存在多個filename ,協議解析應該使用最後的filename值作為檔名嘗試繞過安全狗。

被攔截

協議解析不正確-遺漏檔名

利用當waf遇到「name=」myfile」;;」時,認為沒有解析到filename。而後端容器繼續解析到的檔名是yijuhua.php,導致waf被繞過。

被攔截

協議解析不正確-未解析所有檔案

0.1 multipart協議中,乙個post請求可以同時上傳多個檔案。如圖,許多waf只檢查第乙個上傳檔案,沒有檢查上傳的所有檔案,而實際後端容器會解析所有上傳的檔名,攻擊者只需把paylaod放在後面的檔案part,即可繞過。

協議解析不一致-檔名解析相容性

利用multipart協議中,檔名的形式為「filename=」abc.php」」。但是tomcat、php等容器解析協議時會做一些相容,能正確解析 」filename=」abc.php」、」filename=abc.php」、 」filename=』abc.php』」。而waf只按照協議標準去解析,無法解析檔名,但是後端容器能正確獲得檔名,從而導致被繞過。

利用分塊傳輸繞WAF

http connection有兩種連線方式 短連線和長連線 短連線即一次請求對應一次tcp連線的建立和銷毀過程。長連線是多個請求共用同乙個連線這樣可以節省大量連線建立時間提高通訊效率。目前主流瀏覽器都會在請求頭裡面包含connection keep alive欄位,該字段的作用就是告訴http伺服...

巧妙利用結構體解析協議資料

例項一 根據電池bms協議解析電池資料 小端模式 根據電池應答訊息格式定義電池資料結構 分析例項二 根據電池bms協議解析電池資料 大端模式 stm32屬於小端模式 這裡的小端模式是指 對於超過乙個位元組的資料傳輸時,低位位元組在前高位位元組在後。注 這裡只是為了說明,對協議內容進行了簡化。1.電池...

gopher協議利用

gopher是internet上乙個非常有名的資訊查詢系統,它將internet上的檔案組織成某種索引,很方便地將使用者從internet的一處帶到另一處。在www出現之前,gopher是internet上最主要的資訊檢索工具,gopher站點也是最主要的站點,使用tcp70埠。但在www出現後,g...