淺析滲透實戰中url跳轉漏洞


前言

最近在一些廠商項目中開始接觸到一些url任意重定向,雖然是低危,獎金較低,(雖然國外已經是幾百$)但是一旦找到突破點,幾乎整個站的url跳轉都可以bypass,一個廠商所有點的url跳轉加起來獎金也比較可觀,所以將自己挖掘過程中一點點心得分享一下。

簡介

先走個流程說些廢話,url重定向漏洞也稱url任意跳轉漏洞,網站信任了用戶的輸入導致惡意攻擊,url重定向主要用來釣魚,比如url跳轉中最常見的跳轉在登陸口,支付口,也就是一旦登陸將會跳轉任意自己構造的網站,如果設置成自己的url則會造成釣魚,淺析危害。

<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;
}

?>

最簡單的代碼實例,也是很貼近真實滲透的案例,登陸跳轉,后面通常是加上自己業務的url,一旦存在url任意重定向,發送給用戶,會毫不疑問的輸入賬號密碼登陸,然后跳轉到我們想要他跳轉的url,比如:

我們發送給用戶這樣的url,

http://127.0.0.1/url.php?username=&password=&redict=http://127.0.0.1/fish.php

用戶正常輸入賬號密碼登陸點擊登陸。跳轉到構造的頁面。(我可真是個釣魚鬼才)

當然釣魚界面可以偽造一切你想獲取的信息。

bypass

其實bypass沒什么新的套路(我暫時沒),都是網上有的,師傅們可以百度到的,我整理一下,利用上面的代碼簡單測試,都是本地測試通過的。www.xiaozhupeiqi.com是服務器要求跳轉的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.com

3.斜杠/繞過

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.com

4.白名單匹配繞過

比如匹配規則是必須跳轉,xiaozhupeiqi.com 域名下,?#等都不行的時候,如果匹配規則為xiaozhupeiqi.com,可以嘗試百度inurl:xiaozhupeiqi.com的域名,比如
aaaxiaozhupeiqi.com,這樣同樣可以繞過。接下來實戰中會用到,

5.xip.io繞過

http://127.0.0.1/url.php?username=1&password=1&password=1&redict=http://www.xiaozhupeiqi.com.220.181.57.217.xip.io

會跳轉到百度

6.理想化方法

如果有機會在自己的頁面設置url跳轉,比如目標網站的bbs論壇自己的資料頁面設置url跳轉,既然是服務器的網站,那么url是不會限制的,可以用一個漏洞去構造另一個漏洞。

7.白名單網站可信

如果url跳轉點信任百度url,google url或者其他,則可以多次跳轉達到自己的惡意界面。

8.協議繞過

http與https協議轉換嘗試,或者省略

http://127.0.0.1/url.php?username=1&password=1&password=1&redict=//www.xiaozhupeiqi.com@www.baidu.com
http://127.0.0.1/url.php?username=1&password=1&password=1&redict=////www.xiaozhupeiqi.com@www.baidu.com//多斜線

9.xss跳轉

這種就沒啥說的了,就是XSS造成的跳轉,下面也有案例,在有些情況下XSS只能造成跳轉的危害。  

<meta  content="1;url=http://www.baidu.com" http-equiv="refresh">

fuzz幾個參數

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

實戰幾個案例

1.最常見的登陸跳轉

登陸跳轉我認為是最常見的跳轉類型,幾乎百分之七八十網站都會url里設置跳轉,所以在登陸的時候建議多觀察url參數,通常都會存在跳轉至於存不存在漏洞需要自己測試。

上面的類型四,

漏洞url :

https://xx.xxx.com/User/Login?redirect=http://xxx.com/

為登陸頁面,如果登陸成功那么跳轉http://xxx.com/,但是所有方式都無法繞過,但是發現可以跳轉aaxxx.com,也就是匹配規則為必須為xxx.com的網址,但是aaxxx.com同樣也可以。

方法:

百度 inurl:xxx.com,即可百度到很多域名包含xxx.com的url,即可實現跳轉,不小心百度到一個黃域,正好證明危害登陸跳XX網。

還有一些花里胡哨的base64加碼了的跳轉,解碼就是需要跳轉的url,其實本質都一樣,

2.@繞過

@是最常見的一種繞過。

漏洞url

https://xx.xxx.com/user/goToLogin?toUrl=https://xx.xxx.com@www.baidu.com

這種跳轉在chrome瀏覽器可以直接跳轉,但是在火狐會彈框詢問,但是並不影響它的危害。

火狐下@的跳轉。

還有一些是跳轉目錄的,

如:

https://xx.xxx.com.cn/?redirect=/user/info.php

修改為

https://xx.xxx.com.cn/?redirect=@www.baidu.com

這種情況通常@也可以跳轉,大膽的去嘗試

3.充值接口跳轉

通常充值接口都會進行跳轉,如充值成功會跳轉到充值前訪問的頁面,因為充值接口需要充值才能知道到底存不存在漏洞,所以測試的人相對少一些,大膽去嘗試,單車變摩托,充值完成后還可以提現其實並不影響,不嫌麻煩就多測測。這些都是跳轉成功的案例。

4.xss造成的url跳轉

在一次滲透測試中,碰到一個站點,對<>"這些字符都是進行了過濾。且沒有其他姿勢配合,基本上告別了XSS等漏洞。如下

可以發現我輸入了xsstest<>",但是<>被直接刪除過濾掉了,但是發現雙引號還在,先看下源碼是怎么處理的。

乍一看雙引號也被轉義了,輸入的xsstest 搜索有十七處,大部分被實體化了,還有一部分雙引號被url編碼了,但是此時突然發現我箭頭指的一處並未對雙引號進行轉義或者過濾,雖然<>已經完全被過濾掉了。

此時構造meta的url跳轉。

payload:

http://xxx.com/search?w=1;url=http://www.baidu.com" http-equiv="refresh&fsearch=yes

其中輸入

1;url=http://www.baidu.com" http-equiv="refresh

最終閉合掉得到的源碼為。

最終點擊payload會跳轉百度頁面,其實這個嚴格意義上來說算XSS造成的跳轉,構造應該也可以XSS。

5.業務完成后跳轉

這可以歸結為一類跳轉,比如修改密碼,修改完成后跳轉登陸頁面,綁定銀行卡,綁定成功后返回銀行卡充值等頁面,或者說給定一個鏈接辦理VIP,但是你需要認證身份才能訪問這個業務,這個時候通常會給定一個鏈接,認證之后跳轉到剛剛要辦理VIP的頁面。

通常這個點都會存在跳轉至於存不存在任意跳轉,師傅們自測,有些跳轉業務不好碼就不發了。

6.用戶交互

在一些用戶交互頁面也會出現跳轉,如請填寫對客服評價,評價成功跳轉主頁,填寫問卷,等等業務,注意觀察url。

問卷調查提交跳轉。

7.漏洞構造漏洞

一次滲透測試中碰到一個任意文件上傳漏洞,但是不幸的是沒辦法解析任何后端語言,沒辦法進一步利用,只能前端造成一點危害,但是存放文件的服務器一般比較偏遠,此時可以利用我們任意文件上傳的html,然后來進一步利用,繞過本來無法繞過的url跳轉漏洞。因為存放文件的域名肯定是符合網站跳轉范圍。

最終構成url跳轉漏洞,當然可以獲取cookie造成更多的危害,本文僅討論url跳轉。

ps:如果有其他小技巧我會更新到本篇文章。

參考:https://www.anquanke.com/post/id/94377?from=singlemessage


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM