看我如何發現大疆公司網站的一個小漏洞
本文中,孟加拉國安全研究者Yeasir Arafat講述了他對大疆無人機公司的一次漏洞測試,其通過漏洞利用,最終可獲取到大疆公司包括用戶IP在內的一些用戶註冊信息。漏洞雖小,也值得向我們這些小白分享學習,大神請繞路…..
前期踩點
一個月前,我知道大疆公司運行有漏洞賞金項目之後,我就在上面提交了幾個漏洞,但最終評定結果好像都是N/A,這貌似是我不清楚他們的漏洞評定條件導致的。之後,我的一個朋友告訴我了大疆的一些具體的漏洞提交條件,我眼前一亮,哇,漏洞範圍還挺廣的,其中就包括大疆公司的主站*.dji.com。
首先,我就從大疆主站入手,但一無所獲。但我也不氣餒,過後一天,我用在線工具「dnsdumpster.com」對其域名進行了深入探測,效果還不錯,發現了很多如下有意思的域名。由於保密策略,抱歉在此我不能透露我發現漏洞的具體域名。
有了這些域名,我就從大量.dji.com中挑選了一個作為測試目標。在幾個小時的折騰測試中,我還真發現了多個有效漏洞。測試開始,我就告訴自己要沉住氣,要嘗試深入挖掘一番。經過探測,我發現了該域名的一個子域名.*.dji.com。
一開始,你會認為這只是一個有趣的域名,可能不會有太多發現成果。但剛好相反,仔細分析,我發現該子域名站點使用了亞馬遜的「cloudfront」服務,並設置有保證網站安全的內容安全策略(CSP)。由於該域名存在一些.php頁面和tid=1234類似的端點,我打算試試SQL注入,或看看是否能發現一些的資料庫錯誤。
但遺憾的是,我總不能繞過網站的Modsecuirty策略,而且其mod= pamaeter 形式下也不存在任何SQL注入漏洞。以下為其Modsecuirty策略:
偶然發現
我也不死心,繼續研究,繼而發現了兩個用戶之間的消息發送端,為了防止CSRF攻擊,該發送端設置了表單密鑰保護。
我通過利用BurpSuite進行請求抓包,發現了這個消息發送端中存在一些瑣碎的參數。我沒對數據包實施更改或添加任何SQL注入命令,只是簡單地點擊「go」按鈕發送請求,在響應欄中我發現,存在一些類似於
我當時也不知道這是什麼東東,於是用「xml root cdata是什麼」快速Google了一下才知道,#CDATA數據段表示不應由XML解析器解析的文本數據。
一會之後,我想到了在請求中加入了op=showmsg『來看看有什麼響應,非常偶然,響應以XML形式的root標籤段頁面返回了一些信息,如下圖所示:
漏洞測試
通常來說,會為不同用戶分配一個不同的「uid」參數,這種UID參數應用在不同服務中以闡明不同獨特變數,這裡的UID參數則用來聲明userID信息。
我在想,如果我添加一個amp或XML root路徑的do參數,再加上我自己的UID會是什麼情況呢?於是,最終更改的路徑是這樣:
https://*.*.dji.com/mod.php;uid=1234&do=index&view=admin%27
%27相當於一個注入命令』,運行後,我能看到自己的註冊和登錄IP,而且,把消息發送端中涉及的另外一方賬戶UID替換掉我的UID之後,就能看到對方的註冊和登錄IP信息,另外,還能獲取到對方的用戶空間大小、信用值、積分等網站註冊信息。注意:如果不加%27在上述鏈接之後,響應返回的是一個空白頁面,但如果加了%27之後,才會返回包括IP和其它數據的XML信息頁面。
最終,大疆公司的漏洞處理進程也相當快,我也獲取了大疆方面獎勵的漏洞賞金。
TIPs:
前期踩點識別工作一定要做充分,有助於後續的漏洞發現;
了解網站WEB應用的運行機制,通過其行為分析,可能會發現一些大漏洞;
儘可能地手工測試所有WEB服務端,光靠掃描器是深入挖掘不了太多有用信息的。
*參考來源:medium,FreeBuf小編clouds編譯,轉載請註明來自FreeBuf.COM


※打造一款屬於自己的遠程控制軟體(一)
※Adobe Flash零日漏洞(CVE-2018-4878)在野攻擊完全分析報告
TAG:FreeBuf |