×
サイバー攻撃について
  • __proto__constructorprototypeを入力キーとして許可しない

  • 深いマージを行うライブラリを更新する

  • スキーマ検証を実施する

  • 辞書用途ではMapを検討する

  • 必要に応じてObject.create(null)を使う

  • 危険なDOM Sinkへ到達するGadgetを調査する


Script Gadget XSS


Script Gadgetは、アプリケーションに元から存在する正規JavaScriptを、攻撃者が実行部品として悪用する攻撃です。

攻撃者が安全に見えるHTMLを注入
        ↓
正規JavaScriptが特定の要素を検索
        ↓
属性やテキストを読み取る
        ↓
危険な処理へ渡す
        ↓
コード実行

攻撃者が直接script要素を挿入しなくても成立する場合があります。

Googleの研究では、既存コードに含まれるScript Gadgetが、HTMLサニタイズやCSPなどの緩和策を回避する可能性が示されました。


テンプレートを悪用するXSS

Client-Side Template Injection

Client-Side Template Injection、CSTIは、ブラウザー側テンプレートエンジンが利用者入力を文字列ではなく式として評価する問題です。

<div>
    {{ user_input }}
</div>