1
| 本文作者: 李勤 | 2018-01-02 14:52 |
雷鋒網消息,據 IT 之家 1 月 2 日消息稱,“跳一跳”居然可以利用漏洞自己改分數,甚至連微信小程序、小游戲的源代碼都可以直接下載,只需要知道appid和版本號,就可以直接構造URL下載后綴為wxapkg的源碼包,不需要任何驗證。目前,該漏洞已被微信修復。
到底怎么回事?雷鋒網宅客頻道(微信公眾號:letshome)從Janus 威脅情報平臺的一篇技術投稿了解到了詳情。
該投稿作者為獨立開發者朱鵬飛,他稱“我看完文章之后立馬根據他的思路方法測試了一下,然后下載了十幾個微信官方的小游戲源碼單純研究學習,截止我目前推送文章的時候( 2018年1月1日23:50分 ),微信官方已經修復了這個漏洞,但是我感覺文章還是可以分享出來給諸位開發者,安全問題真的不容忽視呢。”
雷鋒網還注意到,朱表示,有些老版本的微信還是可以抓包,獲取包地址。
以下信息摘選自朱鵬飛文章:
一大早起來刷 V2EX,看到一個帖子《微信跳一跳 可以直接更改分數, POST 請求沒有校驗…》 https://www.v2ex.com/t/419056 好奇點進去看了。

發現不但跳一跳小游戲可以直接改分數,甚至連微信小程序、小游戲的源代碼都可以直接下載,只需要知道 appid 和 版本號,就可以直接構造 URL 下載后綴為 wxapkg 的源碼包,不需要任何驗證。

雖然下載來的源碼包是加密的,但是解密方法已經被 V2EXer 發現,并且寫了一個解密的 Python 腳本,運行即可把源碼包解開為文件夾。

第一步,我先試著用帖子作者拼接好的跳一跳源碼包地址測試,發現能夠下載,不需要任何驗證,只需要知道這個地址,直接任意瀏覽器或者下載工具打開都可以下載。

第二步,再用帖子中的解包 Python 腳本把源碼包解壓成源代碼。



第三步,在本地微信開發者工具中新建一個空白的小程序或小游戲的項目,不要選擇快速啟動模板。

第四步、把剛才解壓出來的源代碼復制到剛剛創建的項目目錄中,開發者工具會提示編譯出錯,這個只需要新建一個game.json文件即可。

文件內容不能為空,寫一對大括號進去,或者加上deviceOrientation的配置,這句話的意思是游戲豎屏玩。

保存后你發現游戲還是編譯不通過,還需要修改最后一項,點擊開發者工具右上角詳情按鈕,把調試基礎庫改成game。

好了,運行起來了:

雷峰網版權文章,未經授權禁止轉載。詳情見轉載須知。