aap渗透_一次App 渗透实战
玄魂工作室秘書 玄魂工作室 前天
鄭重聲明:昨天這篇文章對外發布的時候,很多人直接找到我,說泄露了小米商城的的內部bug。嚇得我趕緊撤回了文章。現在解釋一下,文中確實有捕獲小米的流量,那是因為我們的測試機為小米手機,并非測試的是小米商城。作者也非小米員工。為了表示歉意,本篇文章發放紅包,領取紅包方法,見文末。
-----------------------------------
說明: 本文來自 "玄說安全” 內部成員
-----------------------------------------------------
最近對自家公司的業務app做了自查測試,發現的一個問題,以及測試過程所遇到的坑,記錄下來。
1,首先在手機wifi里設置代理,將手機的流量都導入到導入到電腦的burp里。
2,先抓取涉及到目標app的流量,不出意外,流量全部做了加密(要都是明文,也就沒有記錄的意義了^_^).
3,一看加密流量,就很自然的接上frida,查看加密的流量內容,并嘗試使用burp的插件,解密流量,嘗試修改參數,再進行加密,再次提交。
啟動frida服務,并設置與電腦聯調。
抓取加密流量
查看對應的加密流量里解密后的信息
4,因為慣性思維,導致在這里遇到了此次測試最大的坑!想當然的以為所有的加密流量都是由app封裝的,逆向了apk之后,查找所有涉及到加解密的函數,一個一個hook查看,發現這個app,一部分流量是經過了公司內部的加解密服務,可是有一部分流量,無法hook到。
無法hook到的加密流量(可能老司機們一眼就能看出來問題所在,可我這個小白,在這個困住了好久 --!)
5,經過反復查看流量的上下文,發現hook的流量是從另一個接口發出的,單獨查看這幾到這個接口的流量,發現這些流量是通過js加密的。。。。
使用的加密方法以及秘鑰,已經明明白白的寫在了js文件里了。。。。
6,按照js里寫的加密方法,找了一個在線解密的網站,通過選擇加密方法,填入秘鑰,就可以解密出加密的數據。
https://blog.zhengxianjun.com/html/tool_crypto_aes.html
查看解密后的流量,其中一個phoneuuid得到了重點關注(關注的原因,只是因為經驗所致,查越權,基本上都是重點關注這些涉及到id的參數)。
7,使用這種方法,將這個接口交互的流量都進行了查看,發現“管理收貨地址”這個接口,可以查看到我先前設置好的收貨地址信息。
8,修改提交參數,把phoneuuid改成另一個測試賬號的id,發現可以查看到另一個賬號的里設置的收貨地址信息,坐實了此接口存在越權的漏洞。
(請原諒這些厚厚的馬賽克。。。因為這些地址,是同事家的真實地址)
8,以上驗證方法需要在3個不同的站點進行轉發,效率太低了,就用Python按照js的加密方法,參考網上的代碼,造了了一個輪子,可以輸入明文或者密文,直接顯示最終的結果。
按照phoneuuid的格式,隨機制造數據,使用這個腳本做加解密轉換,就可以遍歷其他人的收貨地址信息。
后記:
與開發同事溝通,說此phoneuuid是由后端進行aes加密生成的,apk文件里也不包含此加密的key,但通過更改id,就能查看其它信息,這點的確是存在越權的問題。
另外,還建議增加phoneuuid的長度,現在是16位的16進制字符串,但理論上,還是可以造足夠大的數據來進行遍歷。當然,如果權限那塊做好的話,這個塊應該就不存在問題了。
-----------------------------------
本文享受原創獎勵 100 元。
------------------------------------
----------------------------------
關注玄魂工作室--精彩不斷
個人年度總結及AWD線下賽復盤 拖了很久
iOS冰與火之歌 – 利用XPC過App沙盒
總結
以上是生活随笔為你收集整理的aap渗透_一次App 渗透实战的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: android app 渗透测试,and
- 下一篇: 客户拜访管理的3个有效方法 教你留住客户