查看: 272|回复: 0

    解密微信小步伐毛病:可下载恣意小游戏源代码,“跳一跳”可改分

    [复制链接]

    该用户从未签到

    5

    主题

    0

    帖子

    16

    积分

    实习版主

    Rank: 7Rank: 7Rank: 7

    积分
    16
    发表于 2018-1-5 09:11:54 | 显示全部楼层 |阅读模式
    djafiXfZzlz3xMLL.jpg

    文 | 李勤
    来自雷锋网(leiphone-sz)的报道


    雷锋网消息,据 IT 之家 1 月 2 日消息称,“跳一跳”居然可以使用毛病本身改分数,乃至连微信小步伐、小游戏的源代码都可以直接下载,只必要知道appid和版本号,就可以直接构造URL下载后缀为wxapkg的源码包,不必要任何验证。1 月 2 日下战书,闻名安全团队“盘古”的安全专家向雷锋网宅客频道证明,微信小游戏“跳一跳”改分毛病仍在,此前传播的“微信已补毛病”是指已经修补了微信小游戏“跳一跳”的源代码下载毛病。这意味着,改分依然可行。
    到底怎么回事?雷锋网从盘古旗下的 Janus 威胁谍报平台相识到了详情。
    一、复现
    一个为该平台投稿的独立开辟者朱鹏飞称“我看完文章之后立马根据他的思绪方法测试了一下,然后下载了十几个微信官方的小游戏源码单纯研究学习,停止我现在推送文章的时间( 2018年1月1日23:50分 ),微信官方已经修复了这个毛病,但是我感觉文章照旧可以分享出来给诸位开辟者,安全题目真的不容忽视呢。”
    雷锋网还留意到,朱表现,有些老版本的微信照旧可以抓包,获取包地点。
    朱称,一大早起来刷 V2EX,看到一个帖子《微信跳一跳 可以直接更改分数, POST 哀求没有校验…》好奇点进去看了。
    EQ282Vtc6SrcTxwj.jpg

    发现不光跳一跳小游戏可以直接改分数,乃至连微信小步伐、小游戏的源代码都可以直接下载,只必要知道 appid 和 版本号,就可以直接构造 URL 下载后缀为 wxapkg 的源码包,不必要任何验证。
    NuZ83GTLr0LlIltu.jpg

    固然下载来的源码包是加密的,但是解密方法已经被 V2EXer 发现,而且写了一个解密的 Python 脚本,运行即可把源码包解开为文件夹。
    V4I8kVo3nv6kviI3.jpg

    第一步,我先试着用帖子作者拼接好的跳一跳源码包地点测试,发现可以或许下载,不必要任何验证,只必要知道这个地点,直接恣意欣赏器大概下载工具打开都可以下载。
    vP021ZhKR3W4Cz5W.jpg

    第二步,再用帖子中的解包 Python 脚本把源码包解压成源代码。
    HYy9h3a499x17Xyq.jpg

    psSjQYiF6xQ5wY21.jpg

    KG1R81Uu1f167NgN.jpg

    第三步,在当地微信开辟者工具中新建一个空缺的小步伐或小游戏的项目,不要选择快速启动模板。
    E8zz62t9D8In77S7.jpg

    第四步,把刚才解压出来的源代码复制到刚刚创建的项目目次中,开辟者工具会提示编译堕落,这个只必要新建一个game.json文件即可。
    IBE76JqLd644aeJy.jpg

    文件内容不能为空,写一对大括号进去,大概加上deviceOrientation的设置,这句话的意思是游戏竖屏玩。
    MOnx4F4FG6ZXw46g.jpg

    生存后你发现游戏照旧编译不通过,还必要修改末了一项,点击开辟者工具右上角详情按钮,把调试底子库改成game。
    lj8QpQ0kZQJ3BkBY.jpg

    好了,运行起来了:
    SV216IIBB8O657zv.jpg

    别的, Janus 为雷锋网出具了一份最新改分攻略:
    二、改分关键步调


    电脑安装抓包软件,手机设置https署理到电脑
    通过抓包软件,抓包拿到微信的sesseion_id
    将sesseion_id写入改分脚本,提交改分哀求
    以下为具体教程

    (1)摆设署理情况(mac情况)
    mac下选用charles作为抓包署理软件(http://www.charlesproxy.com/),windows用户可以用 fiddler(http://www.telerik.com/fiddler)。
    安装好后运行起来,检察本机IP地点,以及软件提供的长途署理端标语:
    charles 的顶部菜单 Proxy->Proxy settings
    IDtkDx31Q7PjA1sq.jpg
    将手机接入与电脑同一个局域网的wifi,然后在wifi的署理设置中,选择手动指定署理,署理服务器为电脑的ip及署理软件提供的端标语(如图中的8888)。
    电脑端会提示是否运行长途接入,点allow即可。
    t64orpRG7784zgn4.jpg
    设置好了以后可以实验欣赏器打开baidu.com,假如可以正常打开,而且在抓包软件中可以看到哀求记载就完成了手机的署理设置。
    由于是https的哀求,必要在手机端安装证书才可以解密哀求,charles的证书可通过手机欣赏器安装,手机欣赏器访问http://chls.pro/ssl,点继承访问此网站,会提示安装证书。
    B2C45oC22mY32C2j.jpg

    iOS 10.3以上的体系版本,必要在 设置→通用→关于本机→证书信托设置 内里启用完全信托Charles证书。
    设置好证书后可以打开http://baidu.com看看是否能解开百度的首页源代码。
    (2)获取session id
    https设置完毕后,打开微信的跳一跳小步伐,就可以看到抓包汗青有一个带有session id的哀求:http://mp.weixin.qq.com/wxagame/wxagame_init
    tNyMz7P4FylZ4174.jpg
    在request部门就可以复制到session_id了。
    (3)将sesseion_id写入改分脚本,提交改分哀求
    现在开源的脚本是nodejs写的,git地点:http://gist.github.com/feix/6dd1f62a54c5efa10f1e1c24f8efc417
    详细的步调:
    新建个目次,好比:wxt1t,然后将脚本源码生存到这里,好比hack.js。
    然后安装nodejs,可以通过官网下载安装包安装:http://nodejs.org/en/
    然后在下令行cd到当前项目文件夹(wct1t),运行:
    npm init --y
    npm install crypto-js request-promise

    然后用文本编辑器打开hack.js,修改内里的score(分数)和session_id变量的值即可。
    下令行运行node hack.js,出现2018! Happy new year! 就代表乐成了。
    上述盘古专家还提示:“固然‘跳一跳’的下载代码毛病已经修补,但是之前官方的源代码已经流传开了,别人拿去改一改,就可以出个本身的‘跳一跳’了,好比,可以拿‘跳一跳’的代码改一个游戏,叫‘跳跳跳’,然后夹带一些私货,发布个新游戏。”
    假如如许,雷同的新游戏是否有夹带恶意代码的风险?
    专家对雷锋网称:“小步伐有考核机制,假如夹带了恶意代码,躲避考核后才气实现。如今小步伐考核比力严酷,尚不清晰其对恶意代码的审计力度。”
    参考链接:http://appscan.io/discover-discuss.html?id=1123859495
    ◆◆

    保举阅读


    b556Y6ylEaetVZ8A.jpg
    Q88mg0DHy8YeXMH4.jpg


    fbc2s6oM6v1j9Vj9.jpg
    RVKu55zs76lv9xiR.jpg 新年特价促销举行中,详情点击阅读原文



    上一篇:微信小步伐天下招商
    下一篇:微信小步伐出现毛病:跳一跳小游戏可直接改分数
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    QQ|Archiver|手机版|小黑屋|好站群 ( 苏ICP备15018248号-1

    GMT+8, 2018-2-24 06:40 , Processed in 0.067808 second(s), 41 queries .

    Powered by Discuz! X3.2

    © 2001-2013 Comsenz Inc.

    快速回复 返回顶部 返回列表