(1)登入DVMA後,設定DVWA Security為Low。
(2)進入File Inclusion,存取dvwa/vulnerabilities/fi目錄下的的test.txt檔案(自己建立的測試檔案)。
(3)報錯ERROR: File not found! 找不到檔案。
(1)使用BurpSuit抓包。
存取test.txt檔案的請求中,Cookie有兩個security鍵;導致設定DVWA Security為Low沒有成功。
(2)在瀏覽器中檢視「設定DVWA Security為Low」時,伺服器端Set Cookie情況。
在Set SessionId時指定了使用路徑;而Set Security是沒有指定路徑。
(3)Cookie的屬性。
屬性 |
描述 |
name |
Cookie的名稱,Cookie一旦建立,名稱便不可更改 |
value |
Cookie的值。如果值為Unicode字元,需要為字元編碼。如果值為二進位制資料,則需要使用BASE64編碼 |
maxAge |
Cookie失效的時間,單位秒。如果為正數,則該Cookie在maxAge秒之後失效。如果為負數,該Cookie為臨時Cookie,關閉瀏覽器即失效,瀏覽器也不會以任何形式儲存該Cookie。如果為0,表示刪除該Cookie。預設為-1。 |
secure |
該Cookie是否僅被使用安全協定傳輸。安全協定。安全協定有HTTPS,SSL等,在網路上傳輸資料之前先將資料加密。預設為false。 |
path |
Cookie的使用路徑。如果設定為「/sessionWeb/」,則只有contextPath為「/sessionWeb」的程式可以存取該Cookie。如果設定為「/」,則本域名下contextPath都可以存取該Cookie。注意最後一個字元必須為「/」。 |
domain |
可以存取該Cookie的域名。如果設定為「.google.com」,則所有以「google.com」結尾的域名都可以存取該Cookie。注意第一個字元必須為「.」。 |
comment |
該Cookie的用處說明,瀏覽器顯示Cookie資訊的時候顯示該說明。 |
version |
Cookie使用的版本號。0表示遵循Netscape的Cookie規範,1表示遵循W3C的RFC 2109規範 |
(1)檢視伺服器端setcookie的php程式碼。
發現沒有給security指定使用路徑。
(2)修改setcookie()中security的路徑為「/」。
(3)PHP setcookie()函數。
語法:setcookie(name,value,expire,path,domain,secure)
引數 |
描述 |
name |
必需。規定 cookie 的名稱。 |
value |
必需。規定 cookie 的值。 |
expire |
可選。規定 cookie 的有效期。 |
path |
可選。規定 cookie 的伺服器路徑。 |
domain |
可選。規定 cookie 的域名。 |
secure |
可選。規定是否通過安全的 HTTPS 連線來傳輸 cookie。 |
(1)清除瀏覽器Cookie。
(2)重新登入DVMA,再次設定DVWA Security為Low。
Set SessionId的路徑和Set Security的路徑一致。
(3)進入File Inclusion,存取dvwa/vulnerabilities/fi目錄下的的test.txt檔案。
成功讀取到檔案內容,並且請求Cookie中只有一個security鍵。