說實話,在寫這篇博文前,我很糾結,擔心會不會被查水錶。由於已經和APP所屬的公司客服溝通過貴公司的APP存在很嚴重的安全漏洞,但是得到的答覆很敷衍,所以在這裡公開分享自己的破解過程(以下部分內容由於涉及到隱私以及相關使用者資訊所以做了打碼),純粹為了技術探究,並引起相關公司的重視,切勿惡意根據文章內容肆意破壞相關單位權益。
相關工具:
charles,google瀏覽器
1.通過charles抓到app相關頁面,抓取過程省略,下面放下已經寫好的程式碼片段
其中抓取到使用者排行榜的頁面,話不多說,直接用google瀏覽器->F12->檢視返回的資料結構和資訊
是誰給了你這麼大的勇氣直接明文返回了使用者的這麼多資訊。通過分析,使用者的pwd即使用者的密碼使用md5加密的,雖然我們都知道md5加密是不可逆的,但是現在網上很多解謎庫,大概率可以逆向破解成功。直接放圖
使用者的手機號和密碼都掌握了,直接可以登陸app,不過沒有登陸過app,怕查水錶,就不演示了。
上面還只是初步的探索了一下,就很容易的竊取到了使用者的相關敏感資訊。
重頭戲來了。
接下來分析了這個頁面所載入的js檔案,發現app前端後端通訊所用的加密方式竟然是AES-128-ECB,且直接寫明瞭加密所需要的加密金鑰
這專案是外包出去的嗎?
獲取到了金鑰之後,接下來就可以通過逆向解謎前端傳給後端的引數了,通過上面charles抓取到的相關介面,我隨意找了一個使用者登陸的介面,通過金鑰,逆向獲取到了前端的明文傳參,下面是我臨時寫好的模擬傳參
通過測試,是能夠模擬app使用者登陸的。那接下來這個app的所有的介面我都可以進行模擬了。目前已測試了app很多功能都可以進行模擬,說句誇張話,可以模仿這款app的ui,使用這款app的所有功能模組進行開發了。
下面是我模擬該APP的邀請新使用者註冊後返回優惠券的功能:
總結:使用者的資訊保安是一個企業的重中之重,如果一個企業的使用者資訊能這麼容易的被竊取,那麼這個責任在於誰呢?僅已此博文能夠得到相關企業的重視。
本作品採用《CC 協議》,轉載必須註明作者和本文連結