雷锋网报道(-sz)
雷锋网消息,IT之家1月2日报道,《跳一跳》居然可以利用漏洞自行改分,甚至微信小程序、小游戏源代码都可以直接下载。只要知道版本号,无需任何验证,就可以直接构造一个以“跳一跳”为后缀的源代码包的URL下载。1月2日下午,著名安全团队“盘古”的安全专家向雷锋网首页频道证实,微信小游戏《跳一跳》改分漏洞依然存在。此前流传的“微信已修补漏洞”是指微信小游戏《跳一跳》源代码下载漏洞已经修补。这意味着改分还是可行的。
到底发生了什么?雷锋网从盘古威胁情报平台获悉,详情如下。
1. 复发
为该平台做出贡献的独立开发者朱鹏飞表示,“看到文章之后,我立刻按照他的思路和方法进行了测试,然后下载了十几个微信官方小游戏源码,进行了简单的研究和学习。截至我发文时(2018年1月1日23点50分),微信官方已经修复了漏洞,但我觉得这篇文章还是可以分享给其他开发者的,安全问题确实不容忽视。”
雷锋网还注意到,朱先生称部分老版本的微信依然能够抓包,并获取数据包地址。
朱先生称,今天一大早他起来查看V2EX,看到一篇名为《微信可直接单击修改成绩,但POST请求未经过验证……”的帖子,出于好奇就点了进去。
我发现不仅可以直接更改Jump Jump游戏的分数,就连微信小程序、小游戏的源码都可以直接下载,只要知道和版本号,就可以直接构造一个URL去下载后缀为的源码包,无需任何验证。
下载的源码包虽然是加密的,但是解密的方法已经被发现了,并且写了一个解密脚本,运行就可以将源码包解压到一个文件夹中。
作为第一步,我尝试用帖子作者拼接的Jump Jump源码包地址进行测试,发现不需要任何验证就可以下载,只需要知道地址,用任意浏览器或者下载工具打开就可以下载。
第二步,使用帖子中的解压脚本,将源码包解压为源代码。
步骤3:在本地微信开发者工具中创建一个空白的小程序或小游戏项目。不要选择快速启动模板。
第四步,将解压后的源码复制到刚刚建立的项目目录中,开发者工具会提示编译错误,解决这个问题只需要新建一个game.json文件即可。
文件内容不能为空,写一对花括号进去,或者添加配置,这句意思是游戏要竖屏。
保存后发现游戏还是编译失败,需要修改最后一项,点击开发者工具右上角的详细信息按钮,将调试基础库改为游戏。
好的,现在正在运行:
此外,还向雷锋网发出了新的改分策略:
2. 重新分类的关键步骤
电脑上安装抓包软件,并设置手机到电脑的代理
编写重新划分脚本并提交重新划分请求
以下是详细教程
(1)部署代理环境(Mac环境)
在Mac上选择()作为数据包捕获代理软件,用户可以使用()。
安装完成后运行,查看软件提供的本地IP地址和远程代理端口号:
顶部菜单 ->
![]()
将手机和电脑连接到同一个wifi网络,然后在wifi代理设置中选择手动指定代理。代理服务器就是电脑的ip加上代理软件提供的端口号(比如图中的8888)。
电脑会提示是否运行远程访问,点击即可。
设置好之后可以尝试用浏览器打开,如果可以正常打开,并且在抓包软件中可以看到请求记录,则表示手机代理设置完成。
由于是来自 的请求,所以需要在手机上安装证书才能解密该请求。可以通过手机浏览器安装证书,并通过手机浏览器访问。点击继续访问此网站,系统会提示您安装证书。
对于 iOS 10.3 及以上版本,您需要在设置 → 通用 → 关于此设备 → 证书信任设置中启用完全信任证书。
配置完证书之后就可以打开看看是否能解密百度首页源代码。
(2)获取身份证
配置完成后,打开微信跳转小程序,可以在抓包历史中看到一个id为的请求:
您可以复制其中的一部分。
(3)编写重分类脚本并提交重分类请求
目前开源脚本写好了,git地址:
具体步骤:
创建一个新目录,例如:,并将脚本源代码保存在此,例如hack.js。
然后就可以安装了,你可以从官网下载安装包:
然后在命令行上 cd 到当前项目文件夹()并运行:
npm init --y
npm-js-
然后用文本编辑器打开hack.js,修改里面的()和变量值。
在命令行中运行node hack.js,如果出现2018!new year!则表示成功。
盘古专家还提醒称:“虽然《跳跳跳》下载代码漏洞已经修复,但官方源代码已经流传,其他人可以修改后制作自己的《跳跳跳》。比如用《跳跳跳》的代码制作一款名为《跳跳跳》的游戏,再加入一些私货,发布一款新游戏。”
如果是这样,类似的新游戏是否存在携带恶意代码的风险?
一位专家告诉雷锋网:“小程序是有审核机制的,如果包含恶意代码,只有躲过审核后才能实施。现在小程序的审核比较严格,对于恶意代码的审核到底有多严格还不清楚。”
参考链接:
◆◆◆