Web 攻擊:HTTP 動詞篡改簡介

作者:szSun · 2024-08-19 · 閱讀時間:5分鐘

在互聯(lián)網發(fā)展的早期,你必須先輸入“http://”才能輸入網站的網址。從這個意義上說,重定向讓我們的生活變得更輕松,但 HTTP(超文本傳輸??協(xié)議)仍然在網絡上的應用程序中扮演著不可或缺的角色。由于這種用于傳輸超媒體文檔(如 HTML 以呈現(xiàn)頁面)的應用層協(xié)議非常常見,因此它也是網絡犯罪分子常用的攻擊媒介。

什么是 HTTP 動詞?

HTTP 動詞指定服務器應如何處理 URL 標識的數(shù)據。它們通常被稱為“HTTP 方法”,之所以被稱為動詞,是因為它們只是簡單的動作。

Web 服務器接受許多不同的 HTTP 動詞,但一些最常見的實例是:

  • GET– 返回指定資源的表述。僅檢索數(shù)據。
  • POST– 將實體提交給指定的資源,通常會導致狀態(tài)改變或服務器產生副作用。
  • PUT– 將請求負載寫入指定位置。
  • PATCH– 對現(xiàn)有資源進行部分更改。
  • DELETE– 刪除指定位置的資源。

傳統(tǒng)上,GET 和 POST 是兩個最常用的 HTTP 動詞。例如,當您想要訪問 Google 等網站時,您正在執(zhí)行 GET HTTP 動詞,將數(shù)據從網站檢索到您的設備。

執(zhí)行 POST HTTP 動詞通常表現(xiàn)為在網站上的表單中輸入信息。您正在向 Web 服務器上“發(fā)布”新數(shù)據或狀態(tài)更改。

標準樣式的鏈接會觸發(fā) GET 請求,而使用“POST”方法提交的表單會觸發(fā) POST 請求。如果沒有 HTTP 動詞,表單默認通過 GET 發(fā)送數(shù)據。

如您所見,更改 HTTP 動詞輸入并不困難。一旦發(fā)現(xiàn) HTTP 配置存在漏洞,攻擊者就可以輕松執(zhí)行 DELETE 等敏感功能。

HTTP 動詞篡改如何工作?

HTTP 動詞篡改攻擊利用 HTTP 方法的身份驗證和訪問控制機制中的漏洞。

最常見的 HTTP 方法允許以有限的安全性進行訪問,因為這就是身份驗證機制的目的。最初,需要身份驗證的網站僅通過密碼保護就被視為安全。隨著網絡變得越來越智能,網絡犯罪分子也變得越來越聰明。由于大多數(shù) HTTP 動詞都不是完全安全的,因此篡改就像操縱受密碼保護的區(qū)域一樣簡單,從而允許未經授權訪問受限資源。

HTTP 動詞篡改通常是由 Web 應用程序或后端服務器中的安全設置配置錯誤引起的。攻擊者將利用此漏洞繞過身份驗證并訪問敏感數(shù)據,只需更改請求方法即可操縱或刪除數(shù)據。

常見攻擊場景

  • 不安全的默認配置:分析您的任何端點是否在開箱即用的設置下運行,并默認允許使用所有 HTTP 動詞。
  • 將 HTTP 動詞存儲在 URL 字符串中:如果 URL 字符串中存儲了允許的 HTTP 動詞,攻擊者可以提取這些動詞。請確保您的 URL 不包含可讓 URL 輕易被操縱的 HTTP 動詞。
  • 使用隱藏字段存儲狀態(tài)信息:隱藏字段在設計時可能很棒并且易于使用,但攻擊者可以通過檢查網頁輕松讀取這些隱藏字段,然后篡改其中的信息。
  • 中間人攻擊:兩臺服務器未加密地進行通信,這使得攻擊者可以攔截和監(jiān)控流量和通信。
  • API 端點缺乏授權和認證s:API 漏洞通常是由于授權和身份驗證控制不足造成的。攻擊者可以入侵受單層身份驗證保護的帳戶,并利用缺乏檢查來泄露信息。
  • 不安全的編碼:Web 開發(fā)人員通常會應用特定的過濾器來緩解編寫的代碼中的特定漏洞,但如果不將這些過濾器應用于所有 HTTP 動詞,則會導致代碼不安全。
  • 在客戶端和服務器之間傳輸?shù)?HTTP 動詞:攻擊者劫持在客戶端和服務器之間傳遞的消息來調整 HTTP 動詞。

如何對抗 HTTP 動詞篡改漏洞

您應該立即采取一些措施來防止 HTTP 動詞被篡改。

  • 檢查配置:確保您的代碼未在安全配置中設置為“允許所有”。否則,攻擊者可以在請求中使用其他 HTTP 動詞(如 HEAD)或任意字符串來獲取訪問權限。
  • 測試滲透測試 (或筆測試) 涉及模擬對 HTTP 動詞的攻擊場景,以在 HTTP 動詞被利用之前尋找可能導致 HTTP 動詞篡改的漏洞。如果您定期進行滲透測試,檢查修改數(shù)據或請求走私等問題將有助于防止以后發(fā)生任何問題。確保不僅包括它們是否可以訪問,還包括一旦授予訪問權限后可能發(fā)生的情況。
  • 流程自動化:自動化可以全面節(jié)省時間和資源。自動化滲透測試意味著可以進行更高質量的分析,以發(fā)現(xiàn)潛在漏洞并防患于未然。

文章來源:Web Attacks: Intro to HTTP Verb Tampering