目前,漏洞种类太多,开发人员完全忘记了基本漏洞。 前几天,我设法绕过了新的WOG应用程序(TOV“ VOG RETAIL”-乌克兰第二大加油站网络)的授权。 在2017年,我在乌克兰的移动提供商之一(也是第二大)的应用程序中发现了完全相同的漏洞。 相同的情况-一种新的应用程序,并且缺乏针对暴力的保护。
不久前,我收到通知-该公司发布了一个新应用程序,并愿意安装它。 老实说,我喜欢该应用程序的功能-查看您可以购买燃料的帐户中的奖金。 可以非接触式或通过QR码附加银行卡和付款的功能。 个人资料还显示我的姓名和联系方式,完整的交易历史记录-商品清单及其购买时的价值。
应用程序中的授权变得更加容易-现在您无需输入会员卡的号码,只需指定手机号码即可。 但是,即使在入口处,我也怀疑任何人都可以查看我的数据-特别是我输入了与我在SMS中收到的代码不同的5次以上。 怎么了 -因为在更早的时候,在移动运营商的类似应用中,我发现了一个漏洞,该漏洞可以完全访问管理订户帐户。
输入不正确的代码,可能会发现针对蛮力的防护很可能不是。
我是对的-该应用程序没有保护。 您可以访问任何帐户,而且可以“劫持”您的帐户-链接到另一个号码,花费其他人的资金。
我给人的印象是,应用程序开发人员完全忘记了网络流量即使是https请求也不难拦截。
就我个人而言,我使用了提琴手程序-该工具使代理流量,查看或更改流量成为可能。 为了访问https请求的内容,除了代理设置之外,在智能手机的连接属性中,还必须安装该程序生成的受信任证书。
首先,我对应用程序开发人员的自尊感到满意-使用该应用程序的API位于
thebestapp4ever .wog.ua域上。 仅仅通过URL,我就能发现
IIS 7.5和
1C:Enterprise 8在服务器上运行,以及标头中的图片(也许Machinarium的粉丝写了API?)。
授权方案很简单-带有“请求”的请求,用于将代码发送到SMS会通过一种API
方法进行 。 这里的第一个漏洞是没有任何限制。 在同一电话号码上,您可以从一个IP“订购”任意数量的SMS。
后来,在公司的招标中,我发现
信息 ,他们计划每月发送多达1,000,000条SMS(他们准备在一年内为此花费98,000美元)。 事实证明,如果每秒发送12个请求,则该漏洞每天可能导致公司损失约8,200美元。
值得注意的是,服务器要正确处理请求,需要
基本授权 -这是开发人员使用的保护方法之一。 怎么了 尚不清楚-我看不出有任何意义-截取
登录名/密码或所需的http标头根本不是问题。
用户收到SMS并将代码输入到应用程序后,它将发送一个
请求 ,以验证代码的可靠性并接收令牌。 下一个也是最关键的漏洞是这里-没有针对暴力的保护措施。 选择由4位数字(!)组成的代码不需要太多时间。
收到令牌后,您可以使用其他API方法。 其中之一使得可以从会员卡中更改PIN码。 该过程是标准的-输入旧的PIN,然后输入新的PIN。 我想重点介绍这种方法,因为开发人员在这里使用了另一种无用的“保护”方法。 当然,也没有防止暴力破解的保护措施,但是旧图钉是以隐藏形式发送的。 这个想法很好-仅对组合0000-9999进行分类将失败。 实现很糟糕-发送的是md5哈希,而不是代码。 没有盐替代品或其他任何东西。
老实说,我不知道如何访问应用程序代码以及这是否可能-因此,如果使用盐,即使是过时的md5也会阻止我。
我不仅设法为“外国”帐户强行使用令牌,而且还将其滑入应用程序-我在node.js上编写了一个小脚本来代理流量,并仅替换了gettoken方法的响应。
该文章是在与公司“ IT部门副主任”交谈后写的。 大家反应敏捷-我能够在24小时内获得联系以进行交流。 我发送了有关漏洞的描述以及有关漏洞赏金存在的问题。
作为回应,我收到一封信,其中包含据称我被“发现”的信息-“
我们立即看到您(380958302 ---),并且这些锁都起作用了……我不会告诉您所有的锁,但是昨天很多锁出现了 ”
对于我来说,它看起来更像是霜冻-因为当我回复这封信时,“
笑话是这个数字对我来说并不熟悉。 我测试了编号095866 ... “
与WOG公司不同,移动运营商的信息安全部门负责人更加健谈,他们安装了智能手机以表示感谢=)