当我偶然发现我的美国移动运营商可能会无休止地补充帐户

为了防止滥用,我没有指出运营商的名称。

这一切始于我到达时购买了运营商的SIM卡,并附有“随用随付”资费计划。 这是在套餐关税计划问世之前在俄罗斯流行的最常见的关税计划,也就是说,您需要为分钟,消息,兆字节付费,而您需要补充余额。

我到处都有Wi-Fi,而传入电话和很少访问移动Internet则需要蜂窝通信。 但是,美国运营商的问题在于您的帐户余额可能会过期。 然后它在30天后过期,也就是说,帐户中的钱只不过花光了。 它可以完全转移到下个月,但是为此必须至少对帐户进行一些补充。 我决定尽量减少充电以保持联系。

我登录了运营商网站上的帐户,并尝试通过银行卡存款。 与俄罗斯不同,无法在此处输入金额。 我只能选择几种金额,最低金额为5美元。 我并不需要那么多,但我每个月都花了这笔钱来保持联系。 结果,几个月后,“无用”的帐户上积累了几十美元,没有机会花掉它。

我不知不觉地经过了其中一个购物中心的运营商商店,看到了普通的充值卡(刮刮卡)。 它们的面额与网站上提供的面额相同。 但是显然由于我对实验的直觉渴望,我决定再次以5美元的价格购买这种卡。 当需要付款时,我开始考虑使用该卡。 这似乎与在俄罗斯(当这些卡仍然很流行时)的原理相同:您可以简单地拨打带有卡号的命令并激活它,或者可以在USSD菜单(“ * XXX#”类别的团队)中“徘徊”。 同样,由于需要进行试验,我决定从菜单中选择一个很长的路。 在建议的选项中,包括寻找余额,激活刮刮卡,为银行帐户充值。

在俄罗斯,我总会以某种方式只处理在线输入卡数据,因此,通过这样的菜单用卡付款对我来说很有趣(毕竟,这些付款是我文凭的主题),尽管这似乎并不安全(再次在俄罗斯,通常可以在收单行的单独窗口中找到,但不会以明文形式转让给卖方),我决定尝试。 立即让我惊讶的是要输入金额。 也就是说,他们没有像其他任何地方一样为我提供标准的金额选择,但是他们建议我输入金额。 我选择了$ 1,按照以下步骤输入卡的详细信息并付款。 您可能会猜到,然后我尝试输入$ 0.01,它也通过了。

可以高兴的是,我不再需要每月无用地转移5美元到我的余额中,而只花1美分就可以完成实验。 但是几个小时后,我想再次查看运营商网站上的“帐户”和补充选项。

这样啊 我被要求填写一张卡片详细信息,金额等表格。 我正在跟踪此POST请求与表单提交的外观。 我复制并粘贴到邮递员中,尝试重复该请求。 服务器回应错误,似乎表格中的某些令牌用完了。

我决定采用简单的方法。 我建议您从下拉列表中选择金额。 当然,这是带有option列表的某种select

 <select class="selectpicker select form-control show-tick text field" title="Specify an amount.." id="billing_amount" name="billing_amount"> <option class="bs-title-option" value=""></option> <option value="REG10-5">$5</option> <option value="REG11-10">$10</option> <option value="REG12-30">$30</option> </select> 

显然只有value发送到服务器。 我知道连字符后的5、10、30是什么意思,这是补货额,但是第一个值是什么意思? 源代码中是否有任何常量,还是仅从数据中提取了总和?

我努力 我在其中之一REG12-0.01 ,输入卡数据并发送。 出现一条消息:“谢谢。 $ 0.01的加载金额已记入您的预付款号码。” 从卡中扣除了相同的金额。 一切似乎都很好。 您可以选择任何金额,尽管我已经通过USSD找到了这个机会,没问题。

但这是最重要的一点。 我收到一条短信到该号码:“ 30美元已记入您的帐户”。 帐户余额将增加此金额。

这个站点上有许多这样的出版物提供了各种流行的服务,并且可能还会更多。 在开发系统的过程中(特别是在没有严格IT重点的公司中),几乎没有针对安全性/漏洞的测试/控制,并且这种情况在不久的将来似乎不会改善。 幸运的是,这里没有个人用户数据受到影响。 这个实验甚至都不能被称为骇客,实际上,通常是将所需的金额发送到服务器,而不是由操作员的帐单决定将余额增加到比所选金额大数千倍的金额。

Source: https://habr.com/ru/post/zh-CN457140/


All Articles