转载

看黑客如何分分钟“插队”预约一加手机

前言

我是一加手机的死忠粉,一加1手机出来的时候,我就想尽了一切办法,参加了各种活动,但还是没搞到邀请码。最终我从XDA论坛找了个人,花了20美元买了个邀请码。因此我很讨厌一加的预约+邀请系统。

一加2使用了排队预约机制,虽然我早早地就申请了,当时我的排名位置大概是9000左右,但是在一加2的排队机制中,可以通过推荐好友来提升排名(即填写好友邮箱,一加会给好友发送邮件,邀请好友一起排队,而邀请者也可借此提升自己的排名)。我检查我的排名的时候已经跌到了70,000多。

我试着在一加的邀请页面填上mailinator.com的临时邮箱地址,居然可以用。我搞了10次,顺利将我的排名提升到了50,000名以上。于是我就想,能不能搞个什么脚本,自动帮我发送大量推荐邮件,提升我的排名。

大量发送推荐邮件

首先我要提取邀请页面里面的URL。使用Chrome的调试工具,在里面的网络标签就可以看到(点击图片放大)。

看黑客如何分分钟“插队”预约一加手机

https://invites.oneplus.net/index.php?r=share/signup&success_jsonpCallback=success_jsonpCallback&email=test%40mailinator.com&_=1438634544515

上面这个就是邮箱填test@mailinator.com的时候收到的邀请邮件中的网址。注意网址最后的那串数字,这是个 cache buster ,功能是防止浏览器缓存链接,还可以验证链接是不是旧链接。

一会儿我们要用python完成整个自动发送邀请、点击邮件内链接的过程,所以我们得把上面的网址改成这种形式:

https://invites.oneplus.net/index.php?r=share/signup&success_jsonpCallback=success_jsonpCallback&email={{name}}%40mailinator.com&_=1438634544515

{{name}}就是填写mailinator邮箱用户名的位置。

接下来我写了几行python代码,生成一个32位的随机字符串用作我的邮箱用户名。我用到了 Requests库 。

看黑客如何分分钟“插队”预约一加手机

我们可以通过一加的系统向mailinator邮箱发送确认邮件了。但怎么获取确认邮件里的内容呢?

在https://mailinator.com/注册后,我们就能在设置页面找到API token。然后根据官方的 指导页面 使用就可以了。

获取确认邮件确认链接

我们先要得到确认邮件的emailID,所以requests.get这里请求的得是 mailinatorInbox

一开始requests.get这里请求的必须得是mailinatorInbox。

看黑客如何分分钟“插队”预约一加手机

我解释一下为什么我要添加sleep timer。我们先来看一下我们收到的回应。

    {‘messages’: [{‘to’: ‘test@mailinator.com’, ‘ip’: ‘198.2.132.96’, ‘fromfull’: ‘invites@oneplus.net’, ‘id’: ‘14385     98503–141602468-test’, ‘seconds_ago’: 2621, ‘subject’: ‘Confirm your email’, ‘time’: 1438598503781, ‘from’: ‘OneP     lus’, ‘been_read’: False}, {‘to’: ‘test@mailinator.com’, ‘ip’: ‘198.2.132.96’, ‘fromfull’: ‘invites@oneplus.net’, ‘id’: ‘1438598522–141603512-test’, ‘seconds_ago’: 2602, ‘subject’: ‘Successful sign-up for the reservation list’     , ‘time’: 1438598522985, ‘from’: ‘OnePlus’, ‘been_read’: False}]}

一开始,消息的键值返回的是空。经过一番调试,我设置mailinator的API在收到确认邮件之后再创建新的用户名。所以我加了个timer,发送一个请求之后暂停五秒再获取。

我们得要用emailID获取邮件正文。从json提取一下就可以了。

看黑客如何分分钟“插队”预约一加手机

有了emailID,我们就可以请求email,获取邮件正文了。

看黑客如何分分钟“插队”预约一加手机

下图是获取的正文

看黑客如何分分钟“插队”预约一加手机

稍微用点正则表达式,就可以提取到确认邮件中的URL了。

看黑客如何分分钟“插队”预约一加手机

把所有的代码结合起来!

看黑客如何分分钟“插队”预约一加手机

我把它放着运行了一会,去喝了杯茶,我回来的时候排名已经上升50,000位了。

代码下载

附上所有代码: https://github.com/JakeCooper/OnePlusTwoBot

*参考来源: Medium ,译/Sphinx,文章有修改,转载请注明来自Freebuf黑客与极客(FreeBuf.COM)

正文到此结束
Loading...