Home

小鱼驿站

07 Apr 2015

通过点评集字游戏浅谈 Web 安全设计

点评集字

点评集字是什么?

它是大众点评推出的一个集字活动,凡凑齐 “大众点评霸王餐” 几字即可获得点评 pass 卡,从而真正意义享受霸王餐。

活动规则?

首先需要参与活动,凡参与活动者会生成一个属于自己的活动页面,用户可以将页面通过微信朋友圈分享,呼唤小伙伴帮助抽字。 每日每账号仅1次抽字机会,账号可以是微信和点评用户。


这个活动蛮有趣味,一方面它可以利用免费和侥幸心理,大大提到用户粘性,其次利用微信朋友圈的强大分享能力,提高影响力。 我想这个活动的 PV 也该是挺不错吧。我身边确实还有不少朋友每天定时提示我,帮他抽字!

每天重复做相同事情,再加上每天只能投一票(每票价值可观),这让我瞬间就有种想刷票的冲动!好吧,说干就干…

寻找刷票入口和套路:

首先通过微信浏览器查看活动详情链接,将链接复制到电脑 chrome 浏览器上,清除链接中的干扰参数(主要和微信账户相关), 此时一个干净完整的活动页面暴漏在你眼前。

点击抽字,系统提示需要登录,
没点评账号?
没事,随便注册一个吧。
神马,可以随便注册?
是的,使用邮件注册点评账户,在未经过邮箱验证之前,用户可以登录并做很多操作,例如这里的活动抽字。

当注册成功后,跳转到先前活动页面,点击抽字; Bingo, 系统提示 “抽字成功” !

过程程序化:

如上,刷票套路已经很清晰了,但是人工操作不免有些枯燥和费事,想想还是写段脚本来解决这个问题吧。

很多语言,很多类库都可以模拟用户浏览器行为,个人原因选择的是 ruby 版 mechanize

程序主要负责实现自动注册和自动抽字即可,由于涉及商业问题,具体代码逻辑不便公开。

程序运行效果图:

dp_pass

由于本人技术拙劣,对于验证码破解很不在行,但我知道这方面是可以攻破的(有收费服务)。本人程序验证码全是人工识别, 尽管如此,效果也十分明显, 经初略测试,5分钟大约可以完成100次抽字。


总结: 点评的最大问题就是对未经认证用户,给予过大功能权限;例如这里的抽字投票,其实发帖,回帖之类也应该注意此类问题。 总的而言,当功能涉及产生他人账户相关数据的时候,最好需要确保用户是认证合法的,当然直接注册购买团购是可以的 :smile: 。

BTW:欢迎点评工程师邮件交流讨论,如果文章涉及侵权,请联系指出!

Til next time,
small_fish__ at 22:31

scribble