ソース:
脆弱性:RACE Condition
訳:
レースコンディションとは何ですか?
Race conditions
に密接に関連する一般的なタイプの脆弱性で。 business logic flaws
。
この問題は、Web サイトが適切な保護策を講じずにリクエストを同時に処理した場合に発生し。
これにより、複数の個別のスレッドが同時に同じデータと対話することになり、その結果、 collision
それが原因 unintended
アプリケーション内の動作。
新しい投稿をして、あることに気づきました reactions
そして comments
、他のソーシャルメディアアプリと同じように。
私が焦点を当てたのは rate limiting
そして、を使用して私の投稿に「いいね!」を獲得しようとしました race condition
, しかし、いつものようにxDに失敗し。
コメント欄を見ていたら、いくつか思いつき。
まず、このサイトが doesn’t allow the publisher
他のユーザーのコメントを削除するには — only the user can delete their own comment
。
それを回避しようとしたのですが、また失敗してしまいました:(
さて、本当に私の注意を引いたものがあります — the comment section
また。
今回、コメントに反応できることに気づき。 Upvoting/Downvoting
ユーザーに影響を与える reputation/points
。
それで、はい、ここで競合状態を試してみて。
一歩ずつ
1-登録しました two users
アプリ上で。
2- 次を使用して画像をアップロードします user_1
.
3- この画像に次の方法でコメントしました user_2
.
4- に戻りました user_1
そして賛成票を投じた user_2
さんのコメント。
5- 次を使用して API リクエストをインターセプトしました Burp Suite
、そしてそれは次のようになりました:
6- このリクエストを次の宛先に送信しました。
の拡張子
Turbo IntruderBurp Suite
単純な Python スクリプトを使用して、 Attack
ボタン。
さて、このコメントに行くと、ついにそれをハッキングしたことがわかり。
ご覧のとおり、リクエストをエンドポイントに送信したとき /vote/up?client_id=*
使用して Turbo Intruder
、 comment's points
減少し、 user's reputation/points
も変わり。
ほなほな。