1. 程式人生 > >WebGoat課程實訓01:HTTP基礎

WebGoat課程實訓01:HTTP基礎

引言

最近在研究WebGoat技術,由於之前對這個領域所瞭解的不多,感覺突然發現了另一扇大門。而在進行實戰練習時,卻困難重重,很多知識點缺失,又缺乏技巧,網上的資料也相對比較少。鑑於此,固有寫實訓筆記的念頭,一方面是自己做個回顧,同時也希望能為那些和我一樣在黑夜中摸索前行的愛好者一點點幫助。

WebGoat是一個用於講解典型web漏洞的基於J2EE架構的web應用,他由著名的WEB應用安全研究組織OWASP精心設計並不斷更新,我所使用的教新的8.0版。關於他的介紹和安裝等由於教簡單,網上也已經有相關的資料,不在本系列文章的範圍之內。

================================分割線==================================

http基礎

這個訓練主要演示了HTTP的工作原理。HTTP,Hypertext Transfer Protocol的縮寫,即超文字傳輸協議,是整個因特網的基礎。它規定了瀏覽器和全球資訊網伺服器之間互相通訊的規則,通過因特網傳送全球資訊網文件的資料傳送協議。

在HTTP的工作原理中,所有HTTP事務都遵循相同的通用格式。每個客戶端請求和伺服器響應都有三個部分:

請求或響應行,標題部分和實體主體。

客戶端啟動事務如下:

  • 客戶端聯絡伺服器併發送文件請求。GET請求可以具有url引數,並且這些引數將在Web訪問日誌中可用。

    • GET /index.html?param=value HTTP / 1.0

  • 接下來,客戶端傳送可選的頭資訊,以通知伺服器其配置及其將接受的文件格式。

    • User-Agent:Mozilla / 4.06接受:image / gif,image / jpeg,/

  • 在POST請求中,使用者提供的資料將遵循可選標頭,而不是POST URL中包含的資料的一部分

在客戶機和伺服器之間進行請求-響應時,兩種最常被用到的方法是:GET 和 POST。

  • GET - 從指定的資源請求資料。
  • POST - 向指定的資源提交要被處理的資料

 

訓練1

練習1向我們展示了HTTP的工作原理,輸入你的名字後,以POST請求方式,將該欄位傳送給伺服器,伺服器再將改值返回給客戶端進行展示。

 

訓練2

 

訓練2更進一步展示HTTP的請求過程,這一步藉助瀏覽器即可完成。

以Chrome瀏覽器為例,在訓練頁面右鍵“檢查”,選擇右上角的"Network"(網路);

開啟“Record network logs”(記錄網路日誌,一般會預設開啟);

然後什麼不填,點選一下頁面中的 “Go”;

注意觀察右邊的網路日誌,找到“attack2”;

右側的Headers裡面的General裡可以找到:Request Method: POST,在“Form Data”裡可以找到我們需要的魔法數字。

介面示例如下:

 

(--完--)