小程序測試流程
小程序測試流程
分為兩個方面,解包可以挖掘信息泄露問題、隱藏的接口,抓包可以測試一些邏輯漏洞、API安全問題。兩者結合起來就可以邊調試邊進行測試,更方便于安全測試。
搜索目標小程序
目標搜索不能僅僅局限于主體單位,支撐單位、供應商、全資子公司等都可能是入口點,所以小程序當然也不能放過它們。
小程序主體信息確認
查看小程序賬號主體信息,否則打偏了花費了時間不說,還可能有法律風險。
點擊小程序

點更多資料就能看到小程序相關信息

小程序包獲取
PC端
首先在微信中搜索到小程序,并打開簡單瀏覽
然后在自己微信文件保存路徑下找到applet下找到該小程序包,可以通過時間或者小程序的appid快速定位到目標包

微信電腦端小程序包存在加密,需要使用工具進行解密
下載地址:微信后臺回復 解包小工具
windows端獲取小程序包流程
打開解密工具,在工具目錄建立wxpack文件夾(解密后的小程序包會放在這個地方),運行工具解密需要操作的小程序包即可


移動端
找到對應目錄,把包拉出來即可
安卓保存路徑:
/data/data/com.tencent.mm/MicroMsg/{?戶ID}/appbrand/pkg/
iOS保存路徑:
/var/mobile/Containers/Data/Application/{程序 UUID}/Library/WechatPrivate/{?戶ID}/WeApp/LocalCache/release/{?程序ID}/ )
由于安卓data目錄需要root權限訪問,所以需要手機或模擬器root
android模擬器獲取小程序包流程
這里我用到的是夜神模擬器,登錄微信,找到小程序

方法是將復制的內容放到mnt->shared->orther下,就會自動同步到PC端,這是模擬器的共享目錄

解包
工具地址:
https://github.com/xuedingmiaojun/wxappUnpacker
環境安裝
npm install uglify-es --savenpm install esprima --savenpm install css-tree --savenpm install cssbeautify --savenpm install vm2 --savenpm install js-beautify --savenpm install escodegen --savenpm install cheerio --save
執行node wuWxapkg.js xxxxxx.wxapkg

不出意外應該沒啥問題,但意外往往很多。node版本問題,依賴問題等等都有可能導致解包失敗,這個時候就希望懂nodejs的同學深入了解小程序的打包壓縮邏輯,然后動手二開項目。不懂的又沒打算往這方面深入研究的怎么辦呢,那換一個目標唄。
調試
打開微信開發者工具,選擇導入項目

導入項目后可能會出現一些代碼錯誤,需要自己手動修改,沒有錯誤后可以編譯,之后愉快的進行調試了

記得在“本地設置”模塊,勾選上“不校驗合法域名”功能。
有些小程序包含第三方插件,而?程序插件直接在微信客戶端內是?法搜索得到的,但我們可以通過登錄??的?程序微信開放平臺賬 戶在“設置” --> “第三?設置” --> “添加插件”中搜尋?程序插件。
抓包
簡單來講就是配置全局代理,讓微信走全局代理。首先打開抓包工具,配置好代理,然后修改windows代理配置

就可以抓包分析了~
