資料載入中

胡言亂語

RPO(Relative Path Overwrite)相對路徑覆蓋攻擊

首先,先來用例子說明何謂「相對路徑」何謂「絕對路徑」。

例如你有一個網址為http://www.demo.com

而在程式碼中你想要呼叫一個在http://www.demo.com/css/style.css 檔案

一般相對路徑的寫法會是:
include('css/style.css')//表示在css子目錄下的style.css檔案
//另外相對路徑的表現方式還有用「.」代表目前所在目錄,用「..」代表上一層目錄。

而絕對路徑的寫法則會是:
include('/css/style.css')//表示在本機www底下的css子目錄下的style.css檔案

不知道絕對路徑?
php取得絕對路徑的作法可以使用:
dirname(__FILE__)
echo __FILE__ ; // 取得當前文件的絕對地址
echo dirname(__FILE__); // 取得當前文件所在的絕對目錄
echo dirname(dirname(__FILE__)); //取得當前文件的上一層目錄名

所以該怎麼寫才能防止RPO(Relative Path Overwrite)相對路徑覆蓋攻擊呢?

解決方式就是別再使用相對路徑了......。
以後呼叫js、css或插入連結圖片及檔案從此不要再使用相對路徑。

另外也順便將iframe設定成「header("X-Frame-Options: DENY")」。

順便也過濾一些危險符號,例如「%2F」轉換成「/」...等。

說真的我是第一次遇到這樣的資安疑慮。

以往為了專案系統能夠順利移機到客戶端主機,基本上都會使用相對路徑的方式撰寫。

不管要include css 或者js。

以往也不曾被弱點掃描掃到有資安疑慮,這樣的撰寫模式也就沿用至今,直到這次被掃到弱點.......。

RPORelativePathOverwrite相對路徑覆蓋攻擊

  • 相對路徑與絕對路徑的區別
  • 防止相對路徑覆蓋攻擊的方法
  • php取得絕對路徑的實作方式
  • iframe安全設定與資安疑慮
  • 資安弱點掃描與撰寫模式的影響
https://innstory.com/story-RPORelativePathOverwrite相對路徑覆蓋攻擊-2120

上一篇
 分享成功人士剛起步時和一般人的差異並不大!現代網路之父安德森給

下一篇
在PHP強制顯示錯誤訊息的方法 

發表留言

作者簡介

離不開電腦的宅男


推薦閱讀

作者其他相關類別故事

分享 斜槓青年正夯,什麼都會才是王道?他舉賈伯斯、巴菲特為例,勸你萬萬不可跨領域-風傳媒

分享 斜槓青年正夯,什麼都會…

Mark Chang 7 年又 282 天 2.2K

巴菲特:「了解自己的能力圈,待在裡面。這個圈圈到底有多大其實無關緊要。知道圈圈的邊線究竟在哪則非常重...

使用curl執行POST請求

使用curl執行POST請求

Mark Chang 7 年又 98 天 1.7K

curl命令是一個利用URL規則在命令行下工作的文件傳輸工具。 支持文件的上傳和下載。 這邊範例使用...

讓文字左右對齊

讓文字左右對齊

Mark Chang 5 年又 317 天 1.2K

讓文字左右對齊這類的設計案,通常都會出現在平面設計居多。 網頁上很少會遇到客戶會執著於這方面,但不能...