iT邦幫忙

2026 iThome 鐵人賽

DAY 17
0
Security

仿生人是否會夢見網頁山羊? 資安小白的30天Webgoat闖關紀錄系列 第 17 篇

[DAY17]仿生人是否會夢見網頁山羊?--Path traversal防護

  • 分享至 

  • xImage
  •  

今天便是Path traversal的最後一篇,同時也是Injection的最後一部份了,老實說我在Webgoat上沒看到太多path traversal的防護知識,所以資料是我自己找,並利用ai進行校稿的,可能會有錯誤,還請大家多多包涵

Path Traversal原理

Path Traversal是一種利用輸入中摻入../之類路徑控制用字元,從而使網頁將其放入決定路徑的位置時將其判定為路徑的一部份,從而使滲透者能夠看到不該看的資料,又或是把資料放到不該放的地方

防護方法

白名單

如果可以,設置僅能讓合法字元以及特定檔案類型通過的白名單,例如.jpg, .pdf之類的

檢查路徑

如果是上傳檔案,使用例如Python內os.path.realpath()的指令,將所有符號解析後確保其代表的絕對路徑,再使用os.path.commonpath()比對來確保與原先設計時預計輸入的位置目錄相同

處理檔名

如果只是要取放在指定目錄的東西時,可以使用如python的os.path.basename()來解析掉../,只留下最終檔名,如果可以,最好再使用亂數將檔案進行改名以防萬一

最小權限化

最小權限化可以防止傷害擴大,如讓滲透者只能存取該目錄下的指定檔案,不能讀取系統核心檔案

明日內容: Broken Access Control部分開始


上一篇
[DAY16]仿生人是否會夢見網頁山羊? --Path Traversal P2
下一篇
[DAY18]仿生人是否會夢見網頁山羊?-- hijack session
系列文
仿生人是否會夢見網頁山羊? 資安小白的30天Webgoat闖關紀錄 共 18 篇
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言