未經驗證的重定向和轉發



網際網路上的大多數 Web 應用程式經常將使用者重定向和轉發到其他頁面或其他外部網站。但是,如果不驗證這些頁面的可信度,駭客可以將受害者重定向到網路釣魚或惡意軟體網站,或者利用轉發訪問未經授權的頁面。

讓我們藉助簡單的圖表瞭解此缺陷的威脅主體、攻擊載體、安全弱點、技術影響和業務影響。

unvalidated_redirects_and_forwards

示例

一些未經驗證的重定向和轉發的經典示例如下所示:

  • 假設應用程式有一個頁面 - redirect.jsp,它接收一個引數redirectrul。駭客添加了一個惡意 URL,該 URL 會重定向執行網路釣魚/安裝惡意軟體的使用者。

http://www.mywebapp.com/redirect.jsp?redirectrul=hacker.com
  • 所有 Web 應用程式都用於將使用者轉發到站點的不同部分。為了實現這一點,某些頁面使用引數來指示如果操作成功,應將使用者重定向到哪裡。攻擊者會構造一個 URL,該 URL 會透過應用程式的訪問控制檢查,然後將攻擊者轉發到攻擊者無權訪問的管理功能。

http://www.mywebapp.com/checkstatus.jsp?fwd=appadmin.jsp

預防機制

  • 最好避免使用重定向和轉發。

  • 如果不可避免,則應在不涉及使用者引數重定向目標的情況下進行。

廣告