相关文章推荐
笑点低的西红柿  ·  Auditing | Kubernetes·  1 年前    · 
笑点低的西红柿  ·  AUDIT : the Alcohol ...·  1 年前    · 
笑点低的西红柿  ·  Audible Books & ...·  1 年前    · 
笑点低的西红柿  ·  Audible Membership ...·  1 年前    · 
首发于 Audio Cat
无限制下载Audible有声书:一场调查

无限制下载Audible有声书:一场调查

背景

这篇文章我很早以前就想写了,但因为各种原因迟迟没有开始。直到最近一位朋友向我推荐淘宝上 低价代购Audible有声书 ,生怕我不知道而造成了多余的损失时,我才下定决心动笔。

熟悉有声读物的朋友肯定知道, Audible.com 作为Amazon旗下全球最大的有声书在线出版和零售平台,很早就推出了包月会员制度。Credit是Audible给其会员的购书额度,一个credit可以购买任意价格的有声书,该网站最便宜的包月计划价格为每月15美金,附带1个credit。

而淘宝上 有店家 以最低8元人民币的价格售卖credit,比官方便宜了90%,并且卖的credit确实有效可用,看上去绝对是一笔好买卖。这些淘宝店家到底是从哪儿获得这么便宜的credit的呢?

在回答这个问题之前,我想先介绍一下Audible不为人知却曾持续数年之久的 信用卡漏洞 ,这个漏洞让用户有机会从该网站 无限制下载任意有声书 ,并且风险几乎为零。


历史

不知道大家有没有过这样的经历,当你用一张新的信用卡绑定微信、Uber、iTunes商店等在线服务时,即使还没有消费,对方会立即从此卡上扣取诸如1美元、0.01元等小额费用,以验证这张信用卡的有效性。这个过程叫做信用卡的 预授权(Authorization Hold/Charge) ,服务商扣取的小额费用也将会如数还到持卡人账上。

也许有人会问,难道除了直接从卡里扣钱没有其他验证信用卡有效性的方法了吗?也许有,那就是直接和对应发卡银行的工作人员/数据库联系比对查询,但此过程费时费力,成本高且可行性低,服务提供商哪怕放弃这一步验证也不会选择这么做。

Audible便 曾是 其中之一:在用户消费之前,它没有对用户绑定的信用卡进行预授权,也没有采用其他任何方法验证信用卡扣款的有效性。乍一看,这好像也没什么大不了的:等到用户用信用卡购买有声书或者包月会员服务的时候,假如使用的信用卡无效,那么此次交易自然也会因为无法付费或扣款失败而作废。真正让有心者有机可乘的地方在:Audible推出的 Free Trial会员免费试用服务

此服务要求新用户先绑定一张信用卡,成功后即可享受一个月的Gold Membership,并得到一枚credit可以马上用来买书。买完书后,立即取消此次试用,并删除绑定的信用卡信息(非必要),Audible便不会在一个月Free Trial到期后开始扣月费。如果有心寻找,你会发现Audible也同时提供 Platinum Membership的试用服务 ,即赠送2枚credit。

至此,以上操作没有违反Amazon公司的任何条款或其他法律,完全合法合理,也谈不上风险。下面是关于Audible这项服务的两点事实:

  1. 同一账号(即邮箱)无法多次使用Free Trial

  2. 同一张信用卡无法被再次用于绑定Free Trial

第一点很容易理解,而第二点就是在说,当此用户用另一个新的邮箱地址来注册Audible,并试用会员服务时,不能再使用之前已经绑定过的信用卡。如此一来,好像真的没有什么空子可以钻了。毕竟一个人能拥有的信用卡很有限,顶多切换几个账号多试用两三次,纯属小打小闹。

然而因为Free Trial的免费性质,像我之前提到的,Audible并不会在用户绑定信用卡时验证卡的有效性。那用户是不是在绑定的时候随便写一个位数相当的数字(比如将正确的信用卡卡号改一位数)也能成功呢?

当然没那么容易。信用卡在支付上的可靠性虽然需要预授权来验证,但是信用卡卡号本身的组合却有一定的组合模式(pattern):比如Visa卡卡号一定是4开头,MasterCard则一定是5开头等等,前六位卡号与发卡机构相关。而卡号的整体也必须满足 Luhn算法 (如下图)。

因为信用卡卡号具备的以上特征,大部分涉及到在线信用卡交易的网站(包括Audible)都会在预授权之前先对卡号进行验证。验证的过程我在此不再展开,简而言之就是先通过正则表达式验证各位卡号,再用上述的Luhn算法(checksum)对整体的卡号组合进行验证。一旦通过了这两步验证,那么这个卡号就是语法有效(syntax valid)的,对于Audible来说,用于Free Trial的信用卡也就绑定成功了,其他所有需要填的信息诸如持卡人姓名、到期日等此时都无关紧要。

你可能会想:对于不熟悉代码的人来说,上哪儿能搞到这样能用却又不真实存在的卡号呢? 答案在诸如 fakenamegenerator.com 这样的网站里。

Fake Name Generator 每刷新一次页面,就给访客提供了如上图随机生成的姓名、邮箱、电话、住址和最重要的——语法有效却并不真实存在的信用卡信息。因为Audible对用户的注册邮箱也不进行验证,任何人使用该网站随机生成的身份邮箱再配合它提供的虚假信用卡信息,可以毫不费力地绑定Audible的Free Trial服务,下载任意一本有声书,并且 无限次重复此操作

以上,“零成本”获得无限Audible有声书的方法已经明朗:

用户通过 Fake Name Generator 或类似网站得到随机生成的虚假姓名、邮箱及信用卡信息成功注册Audible提供的Free Trial服务获得免费有声书下载,并不断重复这一行为。

:该网站提供的信用卡信息,也可以用来绑定其他不进行预授权的在线服务商(如许多主流第三方酒店预定网站),甚至可以被用于性质更严重的犯罪行为。据报道,今年夏天华盛顿大学80余名留学生因为找人代交学费被骗近100万美元。根据新闻描述,我推测犯罪嫌疑人先是用虚假信用卡缴纳了学费,因为学校相关收费机构缺乏预授权的机制,受骗学生立即收到了来自学校邮箱自动发出的学费收据确认邮件,从而相信学费已经缴纳随后向犯罪嫌疑人打钱。若干天后,当学生们发现学费并没有真实到学校的账上时,已经为时已晚。)

看到这儿,也许你会问:为了下书,这么做难道不违法么?我的回答是肯定的。这是百分百的 商业欺诈 (Fraud)行为,但是受到起诉的风险却极低,理由如下:

  1. 因为购买的是电子格式的音频,用户的收货地址无法被验证。至于用户填写的其他信息,也很可能全部是虚假的,很难定位到操作者

  2. 因为在Free Trial阶段Audible对信用卡只有代码级别的验证,如果使用此方法的用户下完书之后在一个月之内自行取消试用期会员资格,那么Audible将不会再对这张卡进行任何操作,理论上也就无法确认用户是否使用了虚假信用卡信息

  3. 在中国尚无业务部门的Audible对国内用户的法律限制极其有限



媒体曝光

上述的这套流程,我大概在2012年开始有所了解(你问我有没有亲自试过?我拒绝回答)。而直到2014年中旬,才终于有媒体报道此事。 Business Insider 在2014年9月15日发布了一篇题为 A Loophole In Audible Allows Anyone To Download Unlimited Audio Books For Free 的文章,甚至披露了比上述还要大的一个漏洞。

文章写道,通过利用虚假身份和信用卡信息以及简单的几步操作,任何人都可以直接在Audible购买价格最贵的白金会员包年服务(年费230美元),得到24枚credit用于购书。这样一来,无限制下载有声书的效率就更高了。


对此,Audible给Business Insider的回复是:

" This is a fraud issue, not a security issue. "

这样的说辞显然是无法让人满意的,哪怕是稍有IT安全常识也应该知道, Never Trust Users 是开发者和系统管理人员应该牢记的原则之一,也是最低特权原则的原因之一。让用户的违法成本如此之低,客观上Audible也要负一定的责任。

所幸的是,Audible已于2015年加入了对信用卡的“预授权”,这样的违法行径也就再也行不通了,成为历史。



代购调查

有了上面的背景知识,当我们再来看淘宝上售价低至 8人民币 的credit的来路时,也就没那么难解了。不过有一点疑问首先需要解决,就是Audible只允许送书,并不允许赠送credit,那么卖家是如何做到向客户账户中充值credit的呢?

解决这个问题最快的办法,就是自己去淘宝上买一个credit一看究竟了。我随意找了一家店下单之后,马上收到了卖家发来的兑换码,是一枚Gift Redeem Code。

当我在Audible相关页面输入Redeem Code后,Audible提示我 对方赠送的书不在我所在地区贩卖 ,赠书 因此 自动转换成了一枚credit 。而当我查看赠送详情时,发现赠送者的邮箱为mdl93i1sv7czx@vistomail.com,非常像一个随机生成的邮箱地址。


至此,我的推理也已成型:

卖家在Audible信用卡漏洞未修复的时间里,通过随机生成的匿名邮箱注册了数以百计的Audible账号,并以前面所述的方法获得大量的credit。随后,卖家通过修改账户地区信息,消耗credit用于打包赠送一本美国区账号无法购买的有声书,而接收人的邮箱则是属于卖家自己的固定邮箱——这样卖家就可以得到此赠品的礼品兑换码。通过不断消耗credit重复以上操作,卖家得以囤积大量的有声书礼品兑换码。当淘宝上的用户想要购买credit时,直接将此兑换码给予对方即可。

以上虽然是比较粗糙的推理,但也绝对经得起推敲。如果说利用虚假信息为自己下载有声书还不算作了多大恶的话,靠这个非法盈利就有点太不上道了。当然,本文对曾经购买有声书代购的朋友一点也没有批判之意,只是如果了解情况的人多一些,总是好事。


-------------

参考链接:

* web.archive.org/web/201
* businessinsider.com/loo

题图 by 401(K)2013 via Flickr

首发于微信公众号 audiocat

编辑于 2016-10-08 14:32

文章被以下专栏收录