Page Marks

4Marks

攻撃技術の進歩に備えるためにこそ、原理からの対策を

セキュリティの話だけでなく。だいたいにおいてあてはまるなぁ

原理から正しく学ぶということは、HTMLなりJavaScriptの文法をしっかり学ぶことでもある。またエスケープを正しく行わないと、セキュリティ上の問題以外に、表示がおかしくなるなどの不具合が生じる。これはプログラマとして必須の知識なのだ。

セキュリティ以前に「正しい結果を返す」事が大前提。逆に正しさを理解すればセキュリティの基本的な概念も理解できる。

大垣さんのブログには、「出力時に過剰とも言えるエスケープ処理」とあるが、多くの文字をエスケープすれは安全になるというものでもない。HTML上の場所に応じた適切なエスケープが必要だ

出力先のフォーマットに即していないとエスケープそのものの意味がない。

インジェクション系脆弱性の根本原因はリテラル(定数)が枠をはみ出し、命令として解釈されることだ。

ここが理解できないと XSS を理解するのは難しい。