在對客戶網站以及APP進行滲透測試服務時候,越權漏洞對業務系統的正常運轉影響很大,不少客戶網站信息被泄露,數據庫被篡改一大部分緣由跟越權漏洞有關,前端時候某金融客戶由於數據被泄露,經過老客戶介紹,找到咱們SINE安全作滲透測試服務,找出數據被泄露的緣由以及目前網站APP存在的未知漏洞,根據咱們十多年的滲透經驗來分享此次網站安全測試的整個過程。php
首先要收集客戶的資料,咱們SINE安全技術與甲方的網站維護人員進行了溝通,肯定下網站採用的是php語言(Thinkphp二次開發系統),數據庫類型是Mysql,服務器採用的是linuxcentos,買的是香港阿里雲ECS,數據庫採用的是內網傳輸並使用了RDS數據庫實例做爲整個網站APP的運營環境,在對客戶有了必定的瞭解後,客戶提供了網站的會員帳號密碼,咱們模擬攻擊者的手法去黑盒測試目前網站存在的漏洞,登錄網站後,客戶存在交易系統功能,使用的是區塊鏈以及虛擬幣進行幣與幣之間的交易金融網站,包括幣幣交換,轉幣,提幣,衝幣,包括了去中心化,以及平臺與虛擬幣交易所進行安全通訊,第三方的API接口,也就是說客戶的幣上了鏈,直接到交易所進行公開交易,資金安全很重要,只要出現一點安全隱患致使的損失可能達到幾十萬甚至上百萬,不過還好客戶只是用戶信息泄露,針對這一狀況,咱們展開了全面的人工滲透測試。html
首先咱們對用戶測試這裏進行漏洞檢測,在這裏跟你們簡單的介紹一下什麼是越權漏洞,這種漏洞通常發生在網站前端與用戶進行交互的,包括get.post.cookies等方式的數據傳輸,若是傳輸過程當中未對用戶當前的帳戶所屬權限進行安全判斷,那麼就會致使經過修改數據包來查看其它用戶的一些信息,繞過權限的檢查,可直接查看任意用戶的信息,包括用戶的帳戶,註冊手機號,身份認證等信息。接下來咱們來實際操做,登錄網站,查看用戶信息,發現連接使用的是這種形式,以下:/user/58,上面的這個網址最後的值是58,與當前咱們登錄的帳戶是相互對應的,也是ID值,USERID=58,也就是說我本身的帳戶是ID58,若是我修改後面的數值,並訪問打開,若是出現了其餘用戶的帳戶信息,那麼這就是越權漏洞。/user/60,打開,咱們發現了問題,直接顯示手機號,用戶名,以及實名認證的身份證號碼,姓名,這是赤裸裸的網站漏洞啊!這安全防範意識也太薄弱了。前端
用戶信息查看這裏存在越權漏洞,發生的緣由是網站並無對用戶信息查看功能進行權限判斷,以及對帳戶所屬權限判斷,致使發生能夠查看任意用戶ID的信息,以下圖所示:linux
漏洞很明顯,這是致使用戶信息泄露的主要緣由,而且咱們在測試用戶註冊的帳戶也發現了用戶信息泄露漏洞,咱們抓取了POST到用戶註冊接口端這裏,能夠看到數據包裏包含了userid,咱們滲透測試對其ID值修改成61,而後服務器後端返回來的信息,提示用戶已存在,並帶着該ID=61的用戶信息,包含了姓名,郵箱地址,錢包地址,等一些隱私的信息,以下返回的200狀態代碼所示:sql
HTTP/1.1 200 OK數據庫
Date: Tue, 08 Mon 2020 09:18:26 GMT後端
Content-Type: text/htmlcentos
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也由於用戶信息被泄露,數據被篡改等安全問題困擾,要解決此問題建議對網站進行滲透測試服務,從根源去找出網站漏洞所在,防止網站繼續被攻擊,能夠找專業的網站安全公司來處理,國內SINESAFE,深信服,三零衛士,綠盟都是比較不錯的安全公司,在滲透測試方面都是頗有名的,尤爲虛擬幣網站,虛擬幣交易所,區塊鏈網站的安全,在網站,APP,或者新功能上線以前必定要作滲透測試服務,提早檢查存在的漏洞隱患,儘早修復,防止後期發展規模壯大形成沒必要要的經濟損失。