タグ

xssに関するinspiのブックマーク (3)

  • 第11回 スクリプトインジェクションを防ぐ10のTips | gihyo.jp

    前回はスクリプトインジェクションがなくならない理由を紹介しました。それをふまえて今回はスクリプトインジェクションを防ぐ10のTipsを紹介します。 デフォルト文字エンコーディングを指定 php.iniには、PHPが生成した出力の文字エンコーディングをHTTPヘッダで指定するdefault_charsetオプションがあります。文字エンコーディングは必ずHTTPヘッダレベルで指定しなければなりません。しかし、デフォルト設定ではdefault_charsetが空の状態で、アプリケーションで設定しなければ、HTTPヘッダでは文字エンコーディングが指定されない状態になります。 HTTPヘッダで文字エンコーディングを指定しない場合、スクリプトインジェクションに脆弱になる場合あるので、default_charsetには“⁠UTF-8⁠”を指定することをお勧めします。サイトによってはSJIS、EUC-JP

    第11回 スクリプトインジェクションを防ぐ10のTips | gihyo.jp
  • 第8回 クロスサイトスクリプティング対策の落とし穴 | gihyo.jp

    今回は熟練したWebアプリ開発者なら常識のクロスサイトスクリプティング対策の落とし穴を紹介します。 JavaScriptを排除しているつもりで排除に失敗?! 最近はSanitize(サニタイズ)という言葉の代わりにValidation(検証)という言葉をよく聞くようになったと思います。Sanitizeの意味を辞書で調べると「汚れている物をきれいにすること」とされています。この意味の通り汚れた変数をきれいにして使えば安全に利用できるとする考え方に基づくのがサニタイズ手法です。典型的な例は、「⁠テキストを出力する前に"<"と">"を取り除く」方法があります。 例1 "<"と">"をereg_replaceで取り除く $safe_text = ereg_replace($_GET['text'], '[<>]', ''); この$safe_textを <a href="/script.php?t

    第8回 クロスサイトスクリプティング対策の落とし穴 | gihyo.jp
  • Webアプリケーションを作る前に知るべき10の脆弱性 ― @IT

    Webアプリケーションが攻撃者に付け込まれる脆弱性の多くは、設計者や開発者のレベルで排除することができます。実装に忙しい方も、最近よく狙われる脆弱性のトップ10を知ることで手っ取り早く概要を知り、開発の際にその存在を意識してセキュアなWebアプリケーションにしていただければ幸いです。 Webの世界を脅かす脆弱性を順位付け OWASP(Open Web Application Security Project)は、主にWebアプリケーションのセキュリティ向上を目的としたコミュニティで、そこでの調査や開発の成果物を誰でも利用できるように公開しています。 その中の「OWASP Top Ten Project」というプロジェクトでは、年に1回Webアプリケーションの脆弱性トップ10を掲載しています。2004年版は日語を含む各国語版が提供されていますが、2007年版は現在のところ英語版のみが提供さ

    Webアプリケーションを作る前に知るべき10の脆弱性 ― @IT
  • 1