先上结论:
- 进入投票页面的时候如果看到有页面跳转、重定向、或是微信授权,那多半是投票服务后端需要验证微信用户的openid,以实现一人一次投票,这样的投票几乎没有办法破解,因为你是在以一己之力对抗腾讯庞大的技术军团 - -!。
- 如果投票页面可以在浏览器上打开,并且不需要做登陆之类的验证操作,那基本上是可以破解的,不过这么不负责这么low的投票系统不是程序猿偷懒就是花不起钱请个好点的程序猿要不然就是这个投票不重要,人家只想要流量,醉翁之意不在酒。
这次尝试破解的投票链接:http://toupiao.bssz023.com/ApiIndex/WxIndex
- 下载并打开抓包软件Wireshark,用数据线连上iphone和mac,侦听iphone的网络传输,具体教程参见 https://zhuanlan.zhihu.com/p/23823231
- ping一下域名toupiao.bssz023.com,得到其ip地址,在wireshark上添加过滤器,之后在手机上进行一次正常的投票,现在我们在wireshark上就能看到这次投票过程中和投票服务器产生了哪些网络交互,如下图所示
- 仔细分析这些http请求
- /Show/MemberInfo是投票候选人列表页,请求之后被302 Found重定向访问/ApiIndex/WxIndex
- 请求/ApiIndex/WxIndex后被重定向访问http