1. ホーム
  2. security

[解決済み】攻撃者はinspect要素を有害に使用することができるか?

2022-02-20 14:46:19

質問

大まかな質問なのですが、ここで何かが足りないような気がするのです。攻撃者がinspect要素を使い、javascriptやhtmlを編集するだけで、サイトに損害を与えることは可能なのでしょうか?例えば、誰かが入力の最大長を変更し、サーバーをクラッシュさせるほど大量のデータをアップロードするのは簡単すぎるように思えます。サーバーでデータをチェックするのが常に良い習慣であることは分かっていますが、それでも簡単すぎるように思えます。もっと危険な例としては、攻撃者が $.ajax を呼び出すと、サーバーに不正な情報が送信されます。これは私がもっと心配すべきことなのでしょうか、それとも攻撃者のブラウザ上での一時的な変更に過ぎないのでしょうか?

解決方法は?

個々のユーザーのブラウザで一時的に変更されます。

しかし、この変更により、そのユーザーがどのようにあなたのバックエンドとやり取りすることができるようになります。 これは、サイトが攻撃される一つの方法です。

標準的なルールは、ユーザー/ブラウザから来る入力を決して信用しないことです。 hiddenフィールドの値を信用しない、長さを変更していないことを信用しない、新しい値を追加していないことを信用しない(例:ドロップダウンに)、Javascriptで行われた検証を信用しない、等々です。

いくつかの例を挙げます。

  • 過去にいくつかのショッピングサイトでは、支払い金額をフォームの隠し項目として入れていました。 この値を変更することで、クレジットカードへの請求額を変更しつつ、取引を承認することができました。
  • バックエンドサービスに直接投稿することでスキップできるJavascriptの検証ルールがあるサイトは、SQLやHTML/Scriptインジェクション攻撃の対象となる可能性があります。
  • ドロップダウン、ラジオボタン、チェックボックスの入力では、予期しない値がフォームに追加される可能性があります。