任意URL跳轉漏洞詳解
當前位置:點晴教程→知識管理交流
→『 技術文檔交流 』
任意URL跳轉漏洞簡介 服務端未對傳入的跳轉url變量進行檢查和控制,導致可惡意構造任意一個惡意地址,誘導用戶跳轉到惡意網(wǎng)站。由于是從可信的站點跳轉出去的,用戶會比較信任,所以跳轉漏洞一般用于釣魚攻擊,通過轉到惡意網(wǎng)站欺騙用戶輸入用戶名和密碼盜取用戶信息,或欺騙用戶進行金錢交易。 URL跳轉漏洞也叫開放重定向,如下面的格式的url https://example.com/login?return=https://mysite.com/ 漏洞危害 URL跳轉漏洞本身屬于低危漏洞,但可以結合其他漏洞加以深入利用,主要的利用方式不僅限于釣魚攻擊,包括: xss漏洞:通過javascript:alert(0)或CRLF; 獲取用戶權限(偽造釣魚網(wǎng)站、竊取登錄憑證token); 繞過檢測(竊取CSRF token,繞過SSRF、RCE黑名單); 高級利用方法(配合其他功能/漏洞)。 實戰(zhàn)案例 登錄后重定向泄露會話令牌 redirect_url參數(shù)未經(jīng)任何過濾,在登錄后界面,請求鏈接: https://test.com/login?redirect_url=https://mysite.com,頁面會被重定向到: https://www.mysite.com/?user=xxx&token=xxxx&channel=mijnwerkenbijdefensie 導致用戶ID和會話令牌泄露,從而接管整個賬號。 Tips:關注登錄后的登錄請求url。 挖掘技巧 在實際滲透過程中,可以在抓包歷史中搜索返回狀態(tài)碼為302的請求包,業(yè)務層面,根據(jù)之前的挖掘經(jīng)驗,大多數(shù)的跳轉漏洞都發(fā)生在登錄功能處,其他存在漏洞的功能處有:注冊、注銷、改密,第三方應用交互,頁面切換,業(yè)務完成跳轉、返回上級、賬號切換、保存設置、下載文件等等。 總體來講,要觀察哪些功能需要進行跳轉,并關注任何涉及跳轉操作的URL,常見的參數(shù)值有return、redirect、url、jump、goto、target、link、callback等,輸入任意URL地址看是否可以任意跳轉,若后臺進行過濾,探測過濾算法,嘗試過濾繞過。 過濾繞過 假設跳轉鏈接http://www.xxx.com?url=http://test.com 其中http://test.com為正常跳轉鏈接 惡意釣魚鏈接為fishing.com,ip地址為192.168.1.1 @符號繞過 http://www.xxx.com?url=http://[email protected] 問號繞過 http://www.xxx.com?url=http://fishing.com?test.com # 繞過 http://www.xxx.com?url=http://fishing.com#test.com 正反斜杠繞過 http://www.xxx.com?url=http://fishing.com/test.com http://www.xxx.com?url=http://fishing.com\test.com http://www.xxx.com?url=http://fishing.com\\test.com http://www.xxx.com?url=http://fishing.com\.test.com 白名單 部分網(wǎng)站對跳轉做了內(nèi)容檢測,比如白名單允許包含fish字符的鏈接通過,那么我們就能找包含fish的鏈接就行跳轉。 http://www.xxx.com?url=http://fishing.com 多重跳轉 例如 網(wǎng)站存在跳轉http://www.xxx.com?url=http://test.com,但是限制僅限于xxx.com,那么我們?yōu)榱诉_到目的可以先跳轉到xxx.com,在跳轉到fishing.com http://www.xxx.com?url=http://test.com?url=fishing.com 功能觸發(fā)跳轉 某些時候在修改鏈接后加載沒反應,可能需要觸發(fā)某功能來進行跳轉,比如登錄,刪除等,具體看跳抓鏈接處于那個功能點。 xip.io繞過 http://www.xxx.com?url=http://test.com.192.168.1.1.xip.io 協(xié)議繞過 刪除或切換http和https,或者增加多個斜杠 http://www.xxx.com?url=//fishing.com#test.com http://www.xxx.com?url=///fishing.com#test.com xss跳轉 xss情況比較多,根據(jù)實際情況而定 防御手段 1、最有效的方法之一就是使用白名單嚴格控制將要跳轉的域名,如: function checkURL ( sURL) { return(/^(https?:\/\/)?[\w-.]+.(yourDomainA|yourDomainB|yourDomainC).com($|\/|\)/i).test(sUrl)||(/^[\w][\w\/.-_%]+$/i).test(sUrl)||(/^[\/\][^\/\]/i).test(sUrl)? true : false;} 2、限制referer、添加token,這樣可以避免惡意用戶構造跳轉鏈接進行散播。 該文章在 2025/5/23 12:09:02 編輯過 |
關鍵字查詢
相關文章
正在查詢... |