Shikata Ga Nai

Private? There is no such things.

My first 10k bdt bounty from an e-commerce siteを訳してみた

Hello there, ('ω')ノ

 

eコマースサイトからの最初の報奨金を。

 

脆弱性:

 IDOR

 

記事:

 https://medium.com/@0xh7ml.py/my-first-10k-bdt-bounty-from-an-e-commerce-site-cec9d58e1f55

 

有名なeコマースサイトで魚料理を見つけて、魚料理を1パケット注文して。

そのアプリケーションは、注文を続行すると「注文」ページにリダイレクトされて。

アドレスバーに注目することに。

 

下記が、そのリンクで。

    https://site.com/checkout/payment?orderId=xxxxxxx

 

Burp Suiteを起動し、インターセプトしてリクエストをリピータに送信して。

下記のようにパラメータ値を変更して。

    https://site.com/checkout/payment?orderId=1111111

 ⇩

    https://site.com/checkout/payment?orderId=1111112

 

すると、悲しいことに401 Unauthorizedが表示されたので。

さらに掘り下げることに。

 

まず、「注文をキャンセルする」オプションを思いついて。

このオプションを使用することで。

認証されたユーザは自分の注文をキャンセルできて。

よって、注文をキャンセルしてリクエストを傍受すると、URLは下記のとおりで。

    https://site.com/api-v4/Order/CancelOrder?orderId=xxxxxxx

 

Burp Suiteのリピータタブに送信して注文IDの最後の値を変更すると。

リクエストの応答に200のステータスコードが含まれていたので。

これは、ユーザのアカウントにアクセスせずに。

他のユーザの注文を正常にキャンセルしたことを意味して。

 

しかしながら、この問題についてもっと確認する必要があって。

そこで、最後の桁を別のランダムな整数に変更してみると。

404が見つからず。

ただ、キャンセル後に注文がある場合は。

404エラーを返すべきなのに200が表示されるので。

200の応答を通じて、認証なしでユーザの注文をキャンセルすることが。

許可されていることを確認できて。

 

Best regards, (^^ゞ