免费获取付费服务的订阅计划绕过技术

本文详细介绍了如何通过操纵API请求绕过订阅付费系统,包括绕过手机验证、分析订阅API端点、修改账户创建请求等具体技术方法,实现免费使用付费服务。

免费获取付费服务的订阅计划绕过技术

博客文章描述了我如何绕过订阅计划免费获取付费服务的访问权限。

希望大家都好,我有一段时间没有发布博客了,所以决定利用这个博客与大家分享一些新的发现。这篇博客是关于我如何绕过订阅计划和付费墙免费使用付费服务的。

这个漏洞利用起来非常简单,但需要一些时间来理解和实现。基本上,我在寻找免费使用该服务的方法。该应用程序有多个订阅计划,并使用Stripe进行支付。我会尽量保持简单。

背景

目标应用程序是一个娱乐平台,提供付费和免费视频,要求用户在继续观看平台上的付费内容之前购买订阅。

此外,该应用程序只允许使用特定国家的手机号码注册/登录,用户也可以使用社交媒体账户注册/登录,但需要进行手机验证。

挑战

真正的挑战是,由于我没有该国家的手机号码,也没有使用社交媒体登录/注册(也需要验证手机号码),我在该平台上没有任何账户。

思考过程

为了绕过这个问题,我首先尝试查看是否可以使用该国家的任何手机号码进行注册。

当你使用手机号码注册时,必须使用发送到该号码的6位验证码进行验证。漏洞构建的第一部分从这里开始:我们需要验证码来访问/验证新创建的账户。

添加一个随机号码和6位随机验证码并点击验证,将发送如下请求。通过操纵验证请求的响应代码,我们可以轻松绕过手机号码验证,示例如下。

通过这样做,我们不再需要提供手机验证码,可以继续进行序列中的下一个请求。如果不绕过这个OTP验证,我们在测试中无法取得进展。

在上面的请求中,你可以看到不再需要验证码,因此我们可以使用任何号码创建账户,甚至可以给我们的账户添加电子邮件,这很有趣,因为没有仅使用电子邮件地址注册或向账户添加电子邮件地址的选项。

无论如何,登录到新账户后,你会看到一个弹窗。我尝试绕过订阅计划免费观看内容,但由于使用Stripe作为支付网关,绕过它相当困难,所以我剩下的唯一选择就是黑客攻击这个平台的API,以某种方式在我的账户上激活订阅。

我尝试操作和抓取API端点以获取有关订阅计划的更多详细信息,并找到了端点,该端点基本上提供了我需要了解API中订阅计划的所有信息。

在花费足够时间理解API中的订阅计划信息后,我尝试向现有账户添加订阅,但由于支付网关以及在编辑/账户更新请求中无法添加订阅选项,这是不可能的。但如果你仔细看,账户注册请求有一个有趣的选项:“cunsumerSubscription”: null,所以我决定创建一个新账户,并从包信息API请求中添加订阅包信息。新的注册请求将如下所示。

仔细发送上述请求,我们可以创建一个绕过付费墙的账户,并创建一个已经附加订阅的新账户。有趣的是,我们可以通过修改"durationDays"、“subscriptionStartDateTime"和"subscriptionEndDateTime"下的值来延长订阅期限。

因此,我们不仅绕过了订阅,还能够创建一个具有无限订阅的账户。

就这样,这就是我如何绕过付费墙并黑客攻击订阅包的方法。深入研究看似无意义的事情总是好的。希望大家通过阅读这篇博客学到了一些新东西,并为黑客和开发人员提供了一些关键要点。

给黑客的建议

  • 从多个角度审视目标
  • 尝试找到可以提供信息的API端点
  • 学会在没有API文档的情况下构建请求
  • 永远不要因错误而气馁

给开发者的建议

  • 尽量不要通过API泄露关键信息,如秘密或订阅信息等
  • 不要让客户通过API请求更新不必要的信息
  • 正确验证OTP

“有时候,黑客攻击只是某人在某件事上花费了比任何人都合理预期更多的时间”

comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计