作弊之我是如何拿到活动一等奖的

0x01起因:公司年会活动,[微信摇一摇],第一者给予xxx奖励。

0x02流程:微信公众号关注,回复摇一摇文字返回连接地址,点击连接地址进入活动,后台开启活动后玩家开始摇。

0x03分析:
1.微信摇一摇活动是第三方开发的应用,微信公众后台进行绑定。(已知是上海某家平台)
2.暂不知道原理,要通过抓包进行分析。

0x04过程:
1.手机代理:简单描述下过程。手机连接wifi代理到电脑,电脑要和wifi在同网络。 也可以电脑开热点,然后监听热点截取封包。

1.jpg
1a.png

2.本地抓包工具:fiddler我喜欢用它。端口监听要和手机代理填写的一致

2.jpg

3.准备完成后开始关注公众号,发送摇一摇,返回连接地址。
抓取到第三方平台连接地址。

3.png

过程大概如下,先授权登录。get参数。  token是唯一的,是公众账号唯一标识

4.png
5.png

通过摇一摇发现活动是基于post请求来达到次数的记录看图。 (摇取一次就会记录保存一次,当摇取到指定次数,活动结束,评选出第一名)

6.png
7.png

其中openid是唯一的,也是用户标识。经过与其他人的对比发现,变量只有这个。更加确定这就是我唯一的标识。下面的totalscore参数就是总次数。

8.png
9.png

通过fiddler工具的重放攻击,达到了想要的效果。
近一步测试确定了效果,也分析了该活动的玩法原理(一天280元)。
唯一id和唯一标识都不变,每次只需要重放post的包就可以。
为此我专门截取了这次的封包(我和朋友的)在活动的时候进行重放攻击。获得了第一名,在分析的过程中发现了漏洞。
摇一摇的过程中可以查看排名,通过抓包看出get请求的参数。

10.png

大概意思:m=活动标识  a=请求内容 token=微信公众号标识 openid=玩家id。
再次拦截修改了微信公众标识发现返回信息报错(显错注入)

11.png

用浏览器近一步查看出现:请您在微信浏览器中打开

12.png

突破非常简单,还是看抓包的请求头,USER-Agent

13.png

复制一份火狐浏览器伪造一下就好了。
直接爆除了sql语句和路径。
F:\websoft\web\sXXe_guanwang\Common\runtime.php
用了windows免py环境的sqlmap不好用,去官方下载了一份sqlmap。装了环境跑了一下。

15.png

找到了官方网站,发现是基于小猪那样的框架开发了,随手admin.php。跳转了后台。
找了下密码登录进去看了下,后台好破,不过好像不是那个后台。

16.png

用其他工具跑呢root的密码解不出来。扫描了一下端口发现8080

17.png

phpmyadmin  由于解不出来密码无法登录,写不了shell。翻了翻库,乱七八糟的。阿里云的主机。

18.png

mysql没有开启外联,无法hash登录。也没心情继续下去了。
其实此次并没有攻击的目的,而是为了分析原理和拿到第一才弄的。同时把这个摇一摇的实现过程分享给大家,一天是208元,目前有1770个会员。大家猜呢。这是商机呀。
由于在比赛过程中被发现作弊,现在已经取消了我的排名。 人家才摇一下我直接80下了,没有合理安排攻击过程,导致全体员工质疑。不说了我去上药了。

【via@javexj-90sec