場景
- 攻擊者鏈接到未驗(yàn)證的重定向并誘使受害者去點(diǎn)擊
- 應(yīng)用程序經(jīng)常將用戶重定向到其他網(wǎng)頁郊供, 或以類似的方式進(jìn)行內(nèi)部轉(zhuǎn)發(fā)昭齐。有時(shí)含长,目標(biāo)網(wǎng)頁是通過一個(gè)未經(jīng)驗(yàn)證的參數(shù)來指定的钟沛,這就允許攻擊者選擇目標(biāo)頁面
http://www.example.com/redirect.jsp?url=evil.com
http://www.example.com/boring.jsp?fwd=admin.jsp
解決方案
避免使用重定向和轉(zhuǎn)發(fā)畔规。
如果使用了重定向和轉(zhuǎn)發(fā),則不要在計(jì)算目標(biāo)時(shí)涉及到用戶參數(shù)恨统。這通常容易做到叁扫。
如果使用目標(biāo)參數(shù)無法避免,應(yīng)確保其所提供的值對于當(dāng)前用戶是有效的,并已經(jīng)授權(quán)三妈。建議把這種目標(biāo)的參數(shù)做成一個(gè)映射值,而不是真的URL或其中的一部分莫绣,然后由服務(wù)器端代碼將映射值轉(zhuǎn)換成目標(biāo)URL畴蒲。