以下の内容はhttps://burion.net/entry/2023/02/11/000708より取得しました。


XSSのエスケープだけで防げないケース、その対策とテスト方法

XSS (クロスサイトスクリプティング)とは Web サイトの代表的な脆弱性。有名なだけあって実際 XSS の脆弱性があるだけでマジでやばいが、その割に対策は意外と簡単じゃなかったりする。

脆弱性自体のヤバさは他の記事に説明してもらう事にして、エスケープだけでは防げないケースが面白かったのでまとめてみる。最後に簡易的なテスト方法も紹介する。

エスケープ(サニタイジング)による基本的な対策

XSS を防ぐ根本的対策として良く挙げられるのは攻撃に使われる HTML の特殊文字をサーバーサイドでレンダリングする際にエスケープして「ただの文字」にしてしまうこと。

& < > " ' → escape → &amp; &lt; &gt; &quot; &#039;

基本的にはこれによって多くのケースを防ぐことはできるが、防げないものもある。

以降は jinja みたいなテンプレートエンジンを使用して HTML を生成する際に、{{ data }} と書くと data に入っている値が(自動的に)エスケープされて埋め込まれると思って読んでほしい。

Template Designer Documentation — Jinja Documentation (3.1.x)

コメントを書く



以上の内容はhttps://burion.net/entry/2023/02/11/000708より取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14