URL跳轉漏洞

來源:互聯網
上載者:User
漏洞描述

服務端未對傳入的跳轉url變數進行檢查和控制,可能導致可惡意構造任意一個惡意地址,誘導使用者跳轉到惡意網站。
由於是從可信的網站跳轉出去的,使用者會比較信任,所以跳轉漏洞一般用於釣魚攻擊,通過轉到惡意網站欺騙使用者輸入使用者名稱和密碼盜取使用者資訊,或欺騙使用者進行金錢交易;還可以造成xss漏洞
漏洞檢測

修改參數中的合法URL為非法URL,然後查看是否能正常跳轉或者響應包是否包含了任意的構造URL 繞過URL跳轉限制 利用問好繞過限制

比如:http://www.aaa.com/acb?Url=http://login.aaa.com 這是一個跳轉連結,跳轉到它的次層網域下,那麼這個問號放哪裡可以繞過呢。其實就是放到它自身的網域名稱前面也就是你添加的想要跳轉的網域名稱的後面,如:http://www.aaa.com/acb?Url=http://test.com?login.aaa.com 。那麼,它其實是會跳轉到這個test.com網域名稱下,這個網域名稱是我想要跳轉的任意網域名稱,而後面的它自身網域名稱一定要帶上,不帶上就無法輔助用問號?這個特性來跳轉到指定網域名稱了,而跳轉後,問號和問號後面的內容會變為這樣:http://www.test.com/?login.aaa.com 利用反斜線和正斜杠繞過限制

比如:http://www.aaa.com/acb?Url=http://login.aaa.com/ 同樣是在它本身網域名稱錢加上正斜杠,然後正斜杠前面跟上你想跳轉的網域名稱地址
如:http://www.aaa.com/acb?Url=http://test.com/login.aaa.com
反斜線有三種思路
(1)兩個反斜線繞過方法
比如:http://www.aaa.com/acb?Url=http://login.aaa.com/ 同樣是在它本身網域名稱錢加上兩個反斜線,然後兩個反斜線前面跟上你想跳轉的網域名稱地址
如:http://www.aaa.com/acb?Url=http://test.com\\login.aaa.com
(2)一個反斜線繞過方法
如:http://www.aaa.com/acb?Url=http://test.com\login.aaa.com
(3)另一種思路,一個反斜線一個點
利用.這樣的格式,也就是一個反斜線加一個點來跳過限制,
如:http://www.aaa.com/acb?Url=http://test.com\.login.aaa.com 利用@繞過URL限制

如果你用這方法在Firefox裡進行跳轉,會有彈窗提示,在其它遊覽器則沒有。
如:http://www.aaa.com/acb?Url=http://login.aaa.com@test.com後面的test.com就是要跳轉到的網域名稱,前面的網域名稱都是用來輔助以繞過限制的 利用#號繞過

如:http://www.aaa.com/acb?Url=http://test.com#login.aaa.com 利用白名單缺陷繞過限制

有的網域名稱白名單限制是不全的,比如如果想利用一個跳轉,而這個跳轉是通用,在這個公司網站很多子網域名稱等都可以跳轉,那麼你買個網域名稱也不算貴對吧,為什麼這麼說呢,這個問題就是白名單限制不當,比如,當跳轉的網域名稱包含這個網站下的所有網域名稱,比如:http://www.aaa.com/acb?Url=http://login.aaa.com,這個login.aaa.com也可以改成aaa.com同樣可以跳轉對吧,因為白名單裡只要有包含這個網域名稱就直接成功跳轉。那麼當我在這個網域名稱前面加上如testaaa.com,白名單裡會檢查是否包含aaa.com這個網域名稱,包含,然後直接跳轉,而並沒有檢查這個網域名稱的整個資訊,然後可以利用這個問題,直接註冊一個testaaa.com這個網域名稱就可以利用這個跳轉。 多重驗證&跳轉繞過限制

現在很多網站都有多重驗證,比如你登陸賬戶後會出現另一個驗證頁面,輸入手機驗證碼進行驗證,此時這上面的URL很可能存在任意跳轉的問題。
多重跳轉的問題導致可繞過URL限制
比如http://www.aaa.com/acb?Url=http://login.aaa.com/acb?url=http://login.aaa.com。當然,還有多重的,這個結構的多重跳轉你修改最後面的URL就可以達到任意URL跳轉,中間的URL就沒必要動了。 點擊觸發達到繞過URL跳轉限制

比如很多登陸頁面的地方,其URL是一個跳轉的URL,如:http://www.aaa.com/acb?Url=http://test.com。你直接修改了後面為任意URL,但是還是停留在原地,似乎沒什麼問題,但是,當你輸入帳號和密碼後點擊登陸按鈕後,就會觸發跳轉,當然,這個賬戶和密碼不一定要對的,隨便都可以,但得視系統而定吧。這個我遇到了很多,比如你修改了網域名稱,然後點擊登陸,登陸成功後便可觸發跳轉,這也是一個比較隱形繞過URL限制的跳轉。 利用超連結繞過可信網站限制

比如一個URL,它是可以直接跳轉的,但是一般測試跳轉時大家習慣用www.baidu.com或qq.com這樣的可信網站進行測試,但是有些網站是可以跳轉這些網站的,只要是可信網站且常用,基本都可以跳轉,那麼這就屬於正常的商務邏輯了。難道就這樣錯失一個URL跳轉漏洞了。其實不然,只要你的URL被百度收錄過,那麼直接搜尋你的網域名稱,site:xxx.xxx 因為你在百度裡點擊你的網域名稱,它會先是一個302跳轉,而這個302跳轉就是百度下的302跳轉,那麼這樣就可以繞過可信網站的限制,從而達到跳轉到指定URL,當然,百度這個302有點長,你給它進行加密就行。 POST參數中的URL跳轉

當然,這個影響就很小了,比如當你填什麼表格或者需要填寫什麼的,當你上傳圖片,點擊下一步的時候,通常下一步就是預覽你填寫的資訊,最後才是提交,當你上傳了圖片後點擊下一步抓包,如果過濾不嚴,你會看到圖片的完整地址包含在POST參數裡,你就可以直接修改這個地址為任意URL,然後到達下一步,這時是確定資訊也就是預覽自己填寫的資訊的正確還是不正確,由於你剛剛修改了圖片地址,這裡是沒有顯示出來的,映像會是一個小XX,當點擊圖片右鍵選擇查看映像時,就會觸發URL跳轉問題,其實這個也可以利用來進行釣魚,釣後台審核員的資訊,為什麼呢,比如審核看到圖片無法載入,一般都會點擊查看圖片,然後跳轉,如果安全意識不知就會造成安全影響。

當然,如果POST參數裡就只是URL跳轉參數,那麼你可以給它轉成GET方式,然後進行跳轉就可以了,只要網站支援這樣的GET方式就行,在Burp Suite裡可以一鍵轉換提交方式,右鍵選擇Change request method就可以。 利用xip.io繞過

請求是http://www.127.0.0.1.xip.io 這個繞過是在SSRF情境中的繞過,比如SSRF你要讀取內網地址,一般都做了限制,可以嘗試用這方法進行繞過限制,從而訪問到內網。
另外一點,URL跳轉涉及的安全問題大家常見的就是釣魚,那麼利用這個思路也可達成一個釣魚問題,如,http://www.qq.com.220.181.57.217.xip.io 當你訪問qq這個網域名稱時,其實這個連結已經被解析到後面這個ip地址上了,那麼實際訪問的就是後面這個IP地址。 漏洞修複的方法

1.若跳轉的URL事先是可以確定的,包括url和參數的值,則可以在後台先配置好,url參數只需傳對應url的索引即可,通過索引找到對應具體url再進行跳轉;
2.若跳轉的URL事先不確定,但其輸入是由後台產生的(不是使用者通過參數傳人),則可以先產生好跳轉連結然後進行簽名,而跳轉cg首先需要進行驗證簽名通過才能進行跳轉;
3.若1和2都不滿足,url事先無法確定,只能通過前端參數傳入,則必須在跳轉的時候對url進行按規則校正:即控制url是否是你們公司授權的白名單或者是符合你們公司規則的url:
function checkURL ( sURL) {
return (/^(https?:\/\/)?[\w-.]+.(yourDomainA|yourDomainB|yourDomainC).com($|\/|\)/i).test(sUrl)||(/^[\w][\w\/.-_%]+$/i).test(sUrl)||(/^[\/\][^\/\]/i).test(sUrl) ? true : false;
}

4.XSS漏洞的注意事項 :跳轉url檢測中也加入了CRLF頭部注入漏洞的檢測邏輯, 具體就是在請求參數中加入了%0d%0a這種測試代碼,需要對這些參數進行刪除處理(事實上:在判斷到一個參數中包含 %00 -> %1f 的控制字元時都是不合法的,需對其進行刪除)。

轉自:http://www.y-hkl.top/2018/01/11/URL%E8%B7%B3%E8%BD%AC%E6%BC%8F%E6%B4%9E/

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.