微信小程序漏洞:可下載任意微信小游戲源代碼(附贈(zèng)源碼)
時(shí)間:2023-05-19 22:12:01 | 來(lái)源:網(wǎng)站運(yùn)營(yíng)
時(shí)間:2023-05-19 22:12:01 來(lái)源:網(wǎng)站運(yùn)營(yíng)
微信小程序漏洞:可下載任意微信小游戲源代碼(附贈(zèng)源碼):本文是我的好朋友,獨(dú)立開(kāi)發(fā)者朱鵬飛早上的投稿,我看完文章之后立馬根據(jù)他的思路方法測(cè)試了一下,然后下載了十幾個(gè)微信官方的小游戲源碼單純研究學(xué)習(xí),截止我目前推送文章的時(shí)候( 2018年1月2日9:50分 ),微信官方已經(jīng)修復(fù)了這個(gè)漏洞,但是我感覺(jué)文章還是可以分享出來(lái)給諸位開(kāi)發(fā)者,安全問(wèn)題真的不容忽視呢。
另外說(shuō)兩點(diǎn):1、據(jù)說(shuō)有些老版本的微信還是可以抓包獲取包地址;
2、如果有同學(xué)對(duì)微信官方的小游戲源碼感興趣,想要研究學(xué)習(xí),可以關(guān)注公眾號(hào)“小專(zhuān)欄平臺(tái)” 二維碼在這里 回復(fù)“微信小游戲”,在確保不違法情況下,我可以發(fā)給你用于研究學(xué)習(xí);
一、發(fā)現(xiàn)一大早起來(lái)刷 V2EX,看到一個(gè)帖子《微信跳一跳 可以直接更改分?jǐn)?shù), POST 請(qǐng)求沒(méi)有校驗(yàn)…》
https://www.v2ex.com/t/419056 好奇點(diǎn)進(jìn)去看了。
發(fā)現(xiàn)不但跳一跳小游戲可以直接改分?jǐn)?shù),甚至連微信小程序、小游戲的源代碼都可以直接下載,只需要知道 appid 和 版本號(hào),就可以直接構(gòu)造 URL 下載后綴為 wxapkg 的源碼包,不需要任何驗(yàn)證。
雖然下載來(lái)的源碼包是加密的,但是解密方法已經(jīng)被 V2EXer 發(fā)現(xiàn),并且寫(xiě)了一個(gè)解密的 Python 腳本,運(yùn)行即可把源碼包解開(kāi)為文件夾。
二、重現(xiàn)第一步,我先試著用帖子作者拼接好的跳一跳源碼包地址測(cè)試,發(fā)現(xiàn)能夠下載,不需要任何驗(yàn)證,只需要知道這個(gè)地址,直接任意瀏覽器或者下載工具打開(kāi)都可以下載。
第二步,再用帖子中的解包 Python 腳本把源碼包解壓成源代碼。
第三步,在本地微信開(kāi)發(fā)者工具中新建一個(gè)空白的小程序或小游戲的項(xiàng)目,不要選擇快速啟動(dòng)模板。
第四步、把剛才解壓出來(lái)的源代碼復(fù)制到剛剛創(chuàng)建的項(xiàng)目目錄中,開(kāi)發(fā)者工具會(huì)提示編譯出錯(cuò),這個(gè)只需要新建一個(gè)game.json文件即可。
文件內(nèi)容不能為空,寫(xiě)一對(duì)大括號(hào)進(jìn)去,或者加上deviceOrientation的配置,這句話的意思是游戲豎屏玩。
保存后你發(fā)現(xiàn)游戲還是編譯不通過(guò),還需要修改最后一項(xiàng),點(diǎn)擊開(kāi)發(fā)者工具右上角詳情按鈕,把調(diào)試基礎(chǔ)庫(kù)改成game。
好了,運(yùn)行起來(lái)了:
如果有同學(xué)對(duì)微信官方的小游戲源碼感興趣,想要研究學(xué)習(xí),可以關(guān)注公眾號(hào)“小專(zhuān)欄平臺(tái)” 二維碼在這里 回復(fù)“微信小游戲”,在確保不違法情況下,我可以發(fā)給你用于研究學(xué)習(xí);
別忘了點(diǎn)贊 哦。