2020.9.19凌晨3點23
深夜難眠,回想起今天waf上一大堆誤報和寥寥無幾的告警,甲方爸爸提供的兩葷一素已經換成了白粥榨菜,農夫已經換成了怡寶,豬肉換成了榨菜,或許我們是時長一個月實習生的身份,已經徹底暴露了,明天不知道是不是只能吃開水泡面了,唉,明天又要穿上白襯衫,繼續假裝自己是5年作業經驗的安全專家,今晚終于認清現實,活捉紅隊0day依然是我們遙不可及的夢,
生而為人,我很抱歉,
材料準備:
burp suite、模擬器(把微信裝好)、node.js、wxappUnpacker、root explorer
操作流程:
步驟1: 配置Burp和模擬器(模擬器需匯入ca證書),打開模擬器的WLAN-->高級設定-->輸入物理機的ip以及一個沒被占用的埠,Burp用于代理該埠
步驟2:打開微信-->隨便點擊一個小程式進入小程式主界面,然后打開檔案管理器
在/data/data/com.tencent.mm/MicroMsg/xxxxxxx(不同微信檔案夾也不同)/appbrand/pkg/目錄下存放著剛才訪問這個小程式的兩個資料包,
兩個包分為子包和主包
壓縮后通過模擬器的微信發送到物理機進行反編譯
可以直接用notepad++ 但是會有亂碼,這里使用git下載的wxappUnpacker進行反編譯
CMD進入wxappUnpacker的下載目錄,安裝依賴包
Shell
-
npm install esprima
-
npm install css-tree
-
npm install cssbeautify
-
npm install vm2
-
npm install uglify-es
-
npm install js-beautify
復制 文本

依賴包安裝好后 使用命令node wuWxapkg.js C:\xxxxxx\xxxxxx\_-1971317095_1.wxapkg
進行反編譯(如果是子包的話需要加-s引數)
反編譯完成
接下來就是針對所有js、html進行漏洞分析,尋找突破口

通過簡單的資訊收集得知該小程式是windows+iis7.5+.net+mssql
80、443、3389埠開啟
且程式采用了svc介面
從js中得到一個介面用于判斷手機號是否注冊
通過單引號 和 '--(單引號+mssql閉合) 發現回傳包不同
使用單個單引號 報錯:系統故障
使用 單引號跟閉合 回傳正確資料包 因此判斷該處通過單引號閉合
最后驗證存在SQL注入
注入點權限很小 --os-shell權限為iis
且注入點只能布爾和延遲,列目錄寫shell屬實浪費時間
通過子域名掃描得到后臺一枚,且發現該程式居然還是一個通用系統,,

通過注入點拿到后臺賬號密碼后 就是常規的滲透思路了,本文著重于微信公眾號的反編譯(最后好像有點跑題),有不足之處希望評論區留言指正,反正我也不會改的
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/181350.html
標籤:其他
上一篇:JVM基礎:類的加載
