某行小程式投標測試的思路和坑
*本文作者:一隻耗子,本文屬於FreeBuf原創獎勵計劃,未經許可禁止轉載。
先發下牢騷吧,最近看FB裡面的文章,大體上往底層概念越來越多,各種挖礦木馬的,還有各種難理解的概念,都沒有勇氣點開看看了。
有關Web層次有價值的文獻越來越少了,這點最近在打CTF時候也體現出來了,得PWN者得天下…..Web題有點難度的基本就是大雜燴(把所有和Web相關的整合到一起出一道題)
也可能是現在可利益化的圈子比較多,各種小密圈收費即分享的機制(我感覺這種機制也挺挺好,技術無價。)
好啦,到這裡了。。。從這裡就開始入正題了。
所謂投標測試,重點你測出的漏洞越多越好,和安全測試一樣,不同於滲透。好像有點繞,打一個比方,banner洩露,apache版本洩露,這個基本沒什麼危害的也可以算漏洞,也是可以加分的。
沒啥說的,開始測試(下面可能點有些囉嗦,方便所有人看。),我是直接用手機測試的。
第一個坑:
訪問微信小程式顯示訪問超時?
說明網站使用https,需要把證書傳上去,安裝就好了。
整好了之後開開心心開啟小程式,又發現,TM資料包是加密的,懷著鬱悶的心情開始測試,發現測完了只有幾個漏洞,確實蛋疼。還好在我東哥夜以繼日的的研究下,到了深夜兩點,找到了加密方式和金鑰(據說是看動漫到了12點多)
第二個坑:
如何獲取微信小程式的加密方式?
微信小程式的包其實是儲存在本地的,只要是訪問過微信小程式,他的包自動下載到本地。在查了半天資料,終於把wxapkg包下載到了本地,然後隨便下載個解包工具,就可以得到小程式前端的程式碼(最好不要用那個nodejs解包的方法)
有了前端程式碼,很簡單的從JS裡面調取出來了加密方式,金鑰等,原來是ECB加密,把資料包放到了解碼那裡,終於解碼出來了,看到了解碼出來的JSON字串,心想終於可以測業務邏輯漏洞了。就這樣第三個坑來了。
第三個坑
這個坑坑了我一晚上,因為這不是我的問題,是解碼網站的問題。(這也是這篇文章主要想吐糟的地方)先附上兩個解碼網站: ofollow,noindex" target="_blank">http://tool.chacuo.net/cryptaeshttp://www.seacha.com/tools/aes.html
從圖可以看出,加密資料,通過金鑰解密,然後得到的值是一樣的。
然後看下圖:
確實沒錯,相互轉換解密沒問題。
下面再看一張圖:
看這張圖,我可能遇到了玄學,這還是ECB嗎?
為啥加一個雙引號就差這麼多呢?然後看下圖:
看見這張圖之後我吐了一口老血,你竟然給我編碼…我服了。
下面說下原理,上圖左部分的網站,會把我輸入的{a=b,c=”d”} 裡面的雙引號,先html轉義之後,然後再進行ECB加密。
所以這裡說一句,上面其實不用理解,記住: 我們要用這個網站解密。
還有點,如果感覺網站很麻煩的話,其實可以把解密整合到burp裡面,這樣可以方便點。
文章裡面不涉及技術,只涉及思路,大家感興趣根據思路去做一下,自己去踩一下坑,畢竟如果我把所有步驟圖放上,按步操作會侷限大佬們的思想。
對了,最近SRC的活動又出來了,沒事的大佬可以去賺錢去了。。。。
文章有哪些錯誤,或相互學習討論的知識可以在評論留言。
*本文作者:一隻耗子,本文屬於FreeBuf原創獎勵計劃,未經許可禁止轉載。