脆弱性
パラメータ改ざん
別称: Web パラメータ改ざん, リクエスト改ざん
定義
攻撃者が HTTP リクエスト、Cookie、隠しフォームフィールドのパラメータを書き換え、アプリの挙動を操作する攻撃。
パラメータ改ざんは、クライアントが送信するがサーバーが信用すべきでないデータ(クエリ文字列、POST ボディ、hidden 入力、Cookie、JWT クレーム、HTTP ヘッダ)を狙います。代表的な悪用は、決済リクエストでの価格フィールド改変、プロフィール API での userId 置換、role パラメータの書き換え、クライアント側バリデーションの回避などです。根本原因は、サーバーがクライアントデータを権威ある値として扱い、再計算や権威状態との照合を行っていない点にあります。対策は、機微な値ごとのサーバー側検証・認可、価格や合計のサーバー側保持または暗号署名、入力スキーマの許可リスト化、WAF による多層防御です。
例
- 決済の隠し価格フィールドを 100 から 1 に書き換えて注文を確定する。
- 登録リクエストで role=user を role=admin に変更する。
関連用語
アクセス制御の不備
認可ルールが欠落または誤って適用され、ユーザーが本来の権限を超えた操作やデータにアクセスできてしまう脆弱性カテゴリ。
安全でない直接オブジェクト参照 (IDOR)
アプリが内部オブジェクトへの参照を露出し、ユーザーがその参照を書き換えることで他人のデータにアクセスできてしまうアクセス制御の欠陥。
マスアサインメント (Mass Assignment)
アプリがクライアントから渡されたフィールドを無検証で内部オブジェクトのプロパティに紐付け、攻撃者が本来制御すべきでない属性を書き換えてしまう脆弱性。
Input Validation
Input Validation — definition coming soon.
Web アプリケーションファイアウォール(WAF)
リバースプロキシ型のフィルタとして HTTP/HTTPS トラフィックを検査し、SQL インジェクションや XSS、ボットによる不正利用などの Web 攻撃をアプリ到達前に遮断する。