Web安全-URL跳转与钓鱼
概述
URL跳轉(zhuǎn)事件是比較常見的,比如,登陸網(wǎng)頁以后,從登陸頁面跳轉(zhuǎn)到另一個(gè)頁面,這就叫做URL跳轉(zhuǎn),但是URL跳轉(zhuǎn)怎么和網(wǎng)絡(luò)釣魚聯(lián)系在一起呢?下面將詳細(xì)介紹URL跳轉(zhuǎn)與釣魚。
URL重定向漏洞也稱URL任意跳轉(zhuǎn)漏洞,網(wǎng)站信任了用戶的輸入導(dǎo)致惡意攻擊,URL重定向主要用來釣魚,比如URL跳轉(zhuǎn)中最常見的跳轉(zhuǎn)在登陸口,支付口,也就是一旦登陸將會(huì)跳轉(zhuǎn)任意自己構(gòu)造的網(wǎng)站,如果設(shè)置成自己的URL則會(huì)造成釣魚,淺析危害。
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <form method="get" action="url.php"> <br><br><br><br> username: <input type="text" name="username"> <br><br> password: <input type="text" name="password"> <input type="submit" value="登陸" name="password"> </form><?php$url=$_GET['redict']; echo $_GET['username']; if ($_GET['username']&&$_GET['password']) {header("Location:$url");exit; } ?>最簡單的代碼實(shí)例,也是很貼近真實(shí)滲透的案例,登陸跳轉(zhuǎn),后面通常是加上自己業(yè)務(wù)的url,一旦存在url任意重定向,發(fā)送給用戶,會(huì)毫不疑問的輸入賬號(hào)密碼登陸,然后跳轉(zhuǎn)到我們想要他跳轉(zhuǎn)的url,比如:
我們發(fā)送給用戶這樣的url,
http://127.0.0.1/url.php?username=&password=&redict=http://127.0.0.1/fish.php用戶正常輸入賬號(hào)密碼登陸點(diǎn)擊登陸。跳轉(zhuǎn)到構(gòu)造的頁面。(我可真是個(gè)釣魚鬼才)
當(dāng)然釣魚界面可以偽造一切你想獲取的信息。
URL跳轉(zhuǎn)
URL跳轉(zhuǎn)一般分為兩種,一種為客戶端跳轉(zhuǎn),另一種為服務(wù)器端跳轉(zhuǎn)。兩種跳轉(zhuǎn)對(duì)于用于來說都是透明的,都是指向或跳轉(zhuǎn)到另一個(gè)頁面,頁面發(fā)生了變化,但是對(duì)于開發(fā)者來說,其區(qū)別是很大的。
客戶端跳轉(zhuǎn)
服務(wù)器端跳轉(zhuǎn)
服務(wù)器端跳轉(zhuǎn)也稱為URL轉(zhuǎn)發(fā),服務(wù)器端跳轉(zhuǎn)時(shí),用戶瀏覽的地址欄URL是不會(huì)發(fā)生變化的,比如,當(dāng)前頁面URL為:http://www.xxser.com/new.php ,當(dāng)單擊“登錄”按鈕后,瀏覽器地址欄的URL沒變,但是頁面會(huì)發(fā)生變化。
網(wǎng)絡(luò)釣魚
注意:URL轉(zhuǎn)發(fā)不可作為URL跳轉(zhuǎn)漏洞,因?yàn)閁RL轉(zhuǎn)發(fā)是無法進(jìn)行域名跳轉(zhuǎn)的,所以URL跳轉(zhuǎn)漏洞也稱為URL重定向漏洞。
URL跳轉(zhuǎn)漏洞可以說對(duì)自身并沒有什么危害,但如果存在此漏洞,就極其有可能成為攻擊者的幫兇。
bypass
其實(shí)bypass沒什么新的套路(我暫時(shí)沒),都是網(wǎng)上有的,師傅們可以百度到的,我整理一下,利用上面的代碼簡單測試,都是本地測試通過的。www.xiaozhupeiqi.com是服務(wù)器要求跳轉(zhuǎn)的url。
1、最常用的一條:@繞過
http://127.0.0.1/url.php?username=1&password=1&password=1&redict=http://www.xiaozhupeiqi.com@www.baidu.com //ssrf也可用2、繞過一些匹配特定字符
?繞過
http://127.0.0.1/url.php?username=1&password=1&password=1&redict=http://www.baidu.com?www.xiaozhupeiqi.com#繞過
http://127.0.0.1/url.php?username=1&password=1&password=1&redict=http://www.baidu.com#www.xiaozhupeiqi.com3、斜杠/繞過
http://127.0.0.1/url.php?username=1&password=1&password=1&redict=http://www.baidu.com/www.xiaozhupeiqi.com或者反斜線
http://127.0.0.1/url.php?username=1&password=1&password=1&redict=http://www.baidu.com\www.xiaozhupeiqi.comfuzz幾個(gè)參數(shù)
redirect url redirectUrl callback return_url toUrl ReturnUrl fromUrl redUrl request redirect_to redirect_url jump jump_to target to goto link linkto domain oauth_callback防御策略
根據(jù)上面的場景分析,我們知道,之所以會(huì)出現(xiàn)跳轉(zhuǎn) URL 漏洞,就是因?yàn)榉?wù)端沒有對(duì)客戶端傳遞的跳轉(zhuǎn)地址進(jìn)行合法性校驗(yàn),所以,預(yù)防這種攻擊的方式,就是對(duì)客戶端傳遞過來的跳轉(zhuǎn) URL 進(jìn)行校驗(yàn)。可以采用在服務(wù)端配置跳轉(zhuǎn)白名單或域名白名單,只對(duì)合法的 URL 做跳轉(zhuǎn)。
總結(jié)
以上是生活随笔為你收集整理的Web安全-URL跳转与钓鱼的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: DBC文件解析——基于DBCView工具
- 下一篇: Android使用SQLiteOpenH