iT邦幫忙

2026 iThome 鐵人賽

DAY 2
0

在進行任何Web資安測試前,必須先理解瀏覽器與伺服器之間的溝通語言那就是HTTP。所有的Web漏洞攻擊,本質上都是利用或篡改HTTP封包中的資料。

  • HTTP請求架構
    當你在瀏覽器輸入網址時,瀏覽器會向伺服器發送一個 HTTP 請求。一個標準的 Request 包含三個主要部分:

1.請求行:包含HTTP方法(GET、POST 等)、請求路徑(URL)與協定版本。

2.請求標頭(Request Headers):攜帶客戶端資訊,如 User-Agent(瀏覽器類型)、Cookie(身份憑證)、Content-Type(資料格式)。

3.請求主體(Request Body):通常在 POST 或 PUT 請求中出現,用來傳送表單資料或 JSON 內容。

POST /login.php HTTP/1.1
Host: example.com
User-Agent: Mozilla/5.0
Content-Type: application/x-www-form-urlencoded

username=admin&password=123456

  • 常見的 HTTP 方法與安全隱患
    1.GET(取得資源):禁止傳送敏感資料(如密碼),因為參數會直接顯示在URL中並留在歷史紀錄與Server Log

2.POST(提交資料):資料放在Request Body,隱蔽性較 GET 高,但傳輸時仍需加密 (HTTPS)

3.PUT / DELETE(修改/刪除資源):若API未做嚴謹的權限控管,攻擊者可未授權刪除或替換伺服器檔案

  • HTTP 回應狀態碼 (Status Codes)
    伺服器處理完請求後會回傳 HTTP Response,其中狀態碼能反映系統的運作狀況:

200 OK:請求成功。

301 / 302 Redirect:重新導向(若導向網址未驗證,可能導致 Open Redirect 漏洞)。

401 / 403 Forbidden:未授權或權限不足(認證與授權機制失效的關鍵關注點)。

500 Internal Server Error:伺服器內部錯誤(資安測試重點:過於詳細的 500 報錯訊息容易洩漏資料庫類型或程式碼路徑)。

4.Cookie與Session:狀態維護的雙面刃
HTTP本身是無狀態協定,為了讓網站記住登入狀態,必須依賴Cookie與Session:
Session:儲存於伺服器端,記錄使用者的登入資訊與狀態。
Cookie:儲存於客戶端瀏覽器,每次發送Request時都會自動帶上Session ID給伺服器比對。

風險點:若Cookie未設定HttpOnly標籤,惡意腳本(XSS 攻擊)就能直接讀取並竊取使用者的Session ID,導致帳號被盜用。


上一篇
從 CIA 三要素到 OWASP Top 10 漏洞地圖
下一篇
資安測試的第一步:資訊收集與偵查概念
系列文
嘗試使用OWASP ZAP與DVWA探索常見 Web 漏洞4
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言