セキュリティ · Web 診断

ビジネスロジックと競合状態

スキャナが定義上見つけられない、業務ロジックの穴と競合状態(TOCTOU)を扱います。

実習
localhost で実習
環境構築
重さ 2 / 3
前提
Web診断を複数
倫理
第0章の法と倫理ゲートへの同意が必須です。

読み込み中…

ツールが原理的に見つけられない領域です。価格や数量をクライアントから信じてしまう業務ロジックの穴と、確認から実行までの隙間を突く競合状態(TOCTOU)を、自作のショップで手を動かして組み立て・直します。

章の一覧

  1. 未完了第0章はじめに — ツールが、原理的に見つけられない領域業務ロジックの穴と競合状態が、なぜスキャナには判定できないのかを理解します。sec-authzと同じ「人の目が要る」領域だと位置づけ、法と倫理ゲートに同意します。約6分次はここ
  2. 未完了第1章業務ロジックの穴 — クライアントを、信じない価格をクライアントから受け取って信じる自作ショップに、改ざんした価格や負の数量を送り、原価割れの注文を通します。原因を理解し、サーバ側のカタログを正とする直しで再検証します。約13分次はここ
  3. 未完了第2章競合状態 — 確認と実行の、隙間を突く在庫1個の自作ショップに、同時に5件の購入リクエストを送り、在庫がマイナスになる(二重に売れてしまう)TOCTOUを再現します。確認から実行までの隙間がなぜ生まれるかを理解します。約12分次はここ
  4. 未完了第3章競合状態の修正 — 確認と実行を、1つにする確認と減算の間にawaitを挟まない(atomicな)設計に直し、同じ同時購入攻撃で在庫が正しく1件だけ成功することを再検証します。実務でのロックやDBの原子的更新、冪等キーにも触れます。約11分次はここ
  5. 未完了第4章まとめ — 当たり前を、疑う目業務ロジックの穴と競合状態を畳みます。「クライアントは事実を持ち込まない」「確認と実行の隙間を無くす」を持って、脆弱性診断の歩き方のコースへ進みます。約3分次はここ

詰まったときはお助けページへ。章ごとのファイル一式をダウンロードして、途中から再開できます。