亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何防止作為 URL 字段的一部分發送的 XSS

如何防止作為 URL 字段的一部分發送的 XSS

瀟湘沐 2023-08-23 17:12:08
目前,我正在特定網頁上顯示一個鏈接,其中包含用戶通過 POST 請求設置的 URL。該網站會顯示給顯示該鏈接的第二個用戶(用戶 2)。單擊該鏈接后,它將返回到用戶 1 的網頁(或者這就是它的預期目的)。但最近出現了這樣的情況,如果 URL 被修改或者用戶 1 是壞用戶,它將 URL 設置為Javascript://%0Aalert(document.domain)//,當單擊鏈接時它將執行腳本。如何在 Java 中驗證此 URL,并防止用戶 1 在 POST 請求傳入時將其設置為 URI?
查看完整描述

1 回答

?
繁花如伊

TA貢獻2012條經驗 獲得超12個贊

有(至少)兩種方法可以解決這個問題,您可以一起使用或單獨使用:

  1. 解析收到的 URL 并檢查其所有組成部分(方案、主機名、端口、路徑、查詢字符串等)是否包含您的應用程序通常生成的合理值,并且您相信這些值是無害的。

    特別是,只需檢查該方案是否http和/或https足以阻止您問題中提到的特定攻擊,盡管您幾乎肯定應該做更多的驗證,而不僅僅是這樣。

  2. 最初生成 URL 時,計算其加密消息身份驗證代碼(使用存儲在服務器上且從未發送到客戶端的密鑰)并將其與 URL 一起發送。當您收到客戶端返回的 URL 時,請驗證 MAC 是否仍然匹配。

    這是一種通用技術,用于確??蛻舳?em>應原樣轉發回服務器的值不被篡改。如果您有多個此類值,而不僅僅是一個 URL,您可以將它們全部編碼為單個字符串,并計算所有這些值的單個 MAC。只需確保編碼是確定性的,以便在驗證 MAC 時可以準確地重復它。此外,您可能希望將其他元數據(例如用戶 ID 和/或時間戳)組合到 MAC 輸入中,以防止重放攻擊。


查看完整回答
反對 回復 2023-08-23
  • 1 回答
  • 0 關注
  • 165 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號