RPO(Relative Path Overwrite)相對路徑覆蓋,是一種新型攻擊技術,主要是利用瀏覽器的一些特性和部分服務端的配置差異導致的漏洞,通過一些技巧,我們可以通過相對路徑來引入其他的資源文件,以至於達成我們想要的目的。
原文出處:http://blog.nsfocus.net/rpo-attack/
-------------------
如果你認同支持我們每日分享的文章的話,請幫我們按個讚並且點擊追蹤「搶先看」,這樣就可以快速獲得最新消息囉!
您的分享及點讚,是我們最大的動力來源。
https://www.facebook.com/LonelyPoPo/
波波觀點:RPO 是容易被低估的前端解析風險
Relative Path Overwrite 的核心不是單一 payload,而是瀏覽器如何解析 URL、HTML base、相對路徑與伺服器 rewrite 規則。當頁面使用相對路徑載入 CSS 或 JavaScript,又搭配寬鬆的路由與錯誤頁處理,就可能讓攻擊者影響資源載入行為。這類問題很適合從瀏覽器行為、伺服器設定與快取策略三個角度一起看。
測試與排查方向
- 用瀏覽器開發者工具確認 CSS、JS、圖片等資源實際載入來源。
- 檢查 rewrite、404 fallback、路由參數與 CDN 快取是否讓異常路徑仍回傳正常頁面。
- 盤點模板中是否大量使用相對資源路徑,尤其是舊版主題或客製頁面。
- 測試不同瀏覽器、代理快取與壓縮設定下的回應差異。
修補與營運建議
修補 RPO 的重點是降低模糊解析空間。資源連結建議使用絕對路徑或明確 base URL;伺服器 rewrite 不應讓任意深層路徑都回傳同一份 HTML;快取規則也要避免把錯誤路徑當成有效頁面保存。若站台使用 WordPress 或自訂主題,應檢查模板、外掛與 CDN 規則是否共同造成風險。
文章後續可補上簡單的可重現範例與防禦前後差異。這樣讀者搜尋 RPO 攻擊、相對路徑覆蓋、Web 前端安全時,能快速判斷自己的站台是否有相同問題。












