天天看點

虛拟币安全防護 滲透測試中發現的越權漏洞分析與修複

在對客戶網站以及APP進行滲透測試服務時候,越權漏洞對業務系統的正常運轉影響很大,很多客戶網站資訊被洩露,資料庫被篡改一大部分原因跟越權漏洞有關,前端時候某金融客戶因為資料被洩露,通過老客戶介紹,找到我們SINE安全做滲透測試服務,找出資料被洩露的原因以及目前網站APP存在的未知漏洞,根據我們十多年的滲透經驗來分享這次網站安全測試的整個過程。

虛拟币安全防護 滲透測試中發現的越權漏洞分析與修複

首先要收集客戶的資料,我們SINE安全技術與甲方的網站維護人員進行了溝通,确定下網站采用的是php語言(Thinkphp二次開發系統),資料庫類型是Mysql,伺服器采用的是linuxcentos,買的是香港阿裡雲ECS,資料庫采用的是内網傳輸并使用了RDS資料庫執行個體作為整個網站APP的營運環境.

在對客戶有了一定的了解後,客戶提供了網站的會員賬号密碼,我們模拟攻擊者的手法去黑盒測試目前網站存在的漏洞,登陸網站後,客戶存在交易系統功能,使用的是區塊鍊以及虛拟币進行币與币之間的交易金融網站,包括币币交換,轉币,提币,沖币,包括了去中心化,以及平台與虛拟币交易所進行安全通信,第三方的API接口,也就是說客戶的币上了鍊,

直接到交易所進行公開交易,資金安全很重要,隻要出現一點安全隐患導緻的損失可能達到幾十萬甚至上百萬,不過還好客戶隻是使用者資訊洩露,針對這一情況,我們展開了全面的人工滲透測試。

虛拟币安全防護 滲透測試中發現的越權漏洞分析與修複

首先我們對使用者測試這裡進行漏洞檢測,在這裡跟大家簡單的介紹一下什麼是越權漏洞,這種漏洞一般發生在網站前端與使用者進行互動的,包括get.post.cookies等方式的資料傳輸,如果傳輸過程中未對使用者目前的賬戶所屬權限進行安全判斷,那麼就會導緻通過修改資料包來檢視其它使用者的一些資訊,繞過權限的檢查,可直接檢視任意使用者的資訊,包括使用者的賬戶,注冊手機号,身份認證等資訊。

接下來我們來實際操作,登陸網站,檢視使用者資訊,發現連接配接使用的是這種形式,如下:/user/58,上面的這個網址最後的值是58,與目前我們登陸的賬戶是互相對應的,也是ID值,USERID=58,也就是說我自己的賬戶是ID58,如果我修改後面的數值,并通路打開,如果出現了其他使用者的賬戶資訊,那麼這就是越權漏洞。/user/60,打開,我們發現了問題,直接顯示手機号,使用者名,以及實名認證的身份證号碼,姓名,這是赤裸裸的網站漏洞啊!這安全防範意識也太薄弱了。

使用者資訊檢視這裡存在越權漏洞,發生的原因是網站并沒有對使用者資訊檢視功能進行權限判斷,以及對賬戶所屬權限判斷,導緻發生可以檢視任意使用者ID的資訊,如下圖所示:

虛拟币安全防護 滲透測試中發現的越權漏洞分析與修複
漏洞很明顯,這是導緻使用者資訊洩露的主要原因,并且我們在測試使用者注冊的賬戶也發現了使用者資訊洩露漏洞,我們抓取了POST到使用者注冊接口端這裡,可以看到資料包裡包含了userid,我們滲透測試對其ID值修改為61,然後伺服器後端傳回來的資訊,提示使用者已存在,并帶着該ID=61的使用者資訊,包含了姓名,郵箱位址,錢包位址,等一些隐私的資訊,如下傳回的200狀态代碼所示:

HTTP/1.1 200 OK

Date: Tue, 08 Mon 2020 09:18:26 GMT

Content-Type: text/html

Connection: OPEN

Set-Cookie: __cQDUSid=d869po9678ahj2ki98nbplgyh266;

Vary: Accept-Encoding

CF-RAY: d869po9678ahj2ki98nbplgyh266

Content-Length: 500

{"error":"exist","user":[{"id":"61","username":"zhangchunyan","email":"admin@whocare","mobile":13005858****,"btc":"69jn986bb2356abp098nny889".      
虛拟币安全防護 滲透測試中發現的越權漏洞分析與修複

通過上面的漏洞可以直接批量枚舉其他ID值的賬戶資訊,導緻網站的所有使用者資訊都被洩露,漏洞危害極大,如果網站營運者不加以修複漏洞,後期使用者發展規模上來,很多人的資訊洩露就麻煩了。如果您的網站以及APP也因為使用者資訊被洩露,資料被篡改等安全問題困擾,要解決此問題建議對網站進行滲透測試服務,從根源去找出網站漏洞所在,防止網站繼續被攻擊,可以找專業的網站安全公司來處理,區塊鍊網站的安全,在網站,APP,或者新功能上線之前一定要做滲透測試服務,提前檢查存在的漏洞隐患,盡早修複,防止後期發展規模壯大造成不必要的經濟損失。