タグ

サニタイジングに関するdekirukana_hateのブックマーク (4)

  • XSS対策 : jQueryでのエスケープ - 年中暁を覚えず・・・・

    例えば以下のようにjavaScript上でhtml要素を出力するような処理がある場合、クロスサイトスクリプティング対策としてvalueの内容をエスケープ処理する必要があります。 $("test").html(value); ただJQueryの関数などで直接行う方法が無いようです。 したがって、「$.text() 関数を使うとブラウザが勝手にエスケープ処理を行ってくれる」という処理を利用します。 こんな関数を作ります。(ダミー領域のtextにパラメータを一度セットし、そのhtml要素を返す。) var escapeHTML = function(val) { return $('<div />').text(val).html(); }; こうやって使用します。 value = escapeHTML(value); valueの内容に<script>xxx</script>等のjavaScr

  • 1-2. クロスサイトスクリプティング

    最近「クロスサイトスクリプティング脆弱性により個人情報が盗まれる」といった話題を頻繁に耳にする。Webサイトを閲覧するだけで,ユーザの個人情報が盗み出されたり,コンピュータ上のファイルが破壊されたり,バックドアが仕掛けられたり,といったさまざまな被害を引き起こすセキュリティ問題である。 クロスサイトスクリプティングとは図1のような多少入り組んだ攻撃手法である。 ユーザが悪意あるWebサイトを閲覧したときに, 出力されるWebページに悪意あるスクリプトが埋め込まれており, まだそのスクリプトは効果を発揮せずに標的Webサイトへ転送され, 標的Webサイトの「スクリプトを排除しない欠陥」を介して,スクリプトが効果を発揮する形でブラウザへ戻ってきて, スクリプトがブラウザで実行され,クッキーが漏洩したり,ファイルが破壊したりといった被害が発生する, といった攻撃である。(4)のように,外部から与

  • XSS脆弱性により起こる被害とその対策

    前編では、Webアプリケーションに潜むセキュリティホール、「クロスサイトスクリプティング(XSS)」とはどのような脆弱性であるのかについて述べた。中・後編では起こり得る被害についてと、どのように対策をすればよいのかを解説していく。 XSSセキュリティホールによる起こり得る被害 XSSのセキュリティホールがあると、攻撃者はそこを狙った攻撃をするだろう。しかし攻撃といっても、セキュリティホールがあるWebサイトに対する攻撃ではなく、そのWebサイトの利用者に対する攻撃となる。 またユーザーに対する攻撃というといままでにも、悪意のあるスクリプトが仕掛けられた(攻撃者の)Webサイトにアクセスしたユーザーが被害を受けるというものもあった。XSSを利用した攻撃も、攻撃者のWebサイトにユーザーがアクセスして被害が起こるという点は変わらないが、仕込まれているスクリプトがどこから送られてくるのかが違うた

    XSS脆弱性により起こる被害とその対策
  • 入力のサニタイズ

    ユーザーからの入力は必ずチェックする 利用者が入力するデータは、不正なタグや命令が混入していないか必ずチェックしましょう。 サニタイズとは サニタイズとは、入力されたデータの危険な部分を無力化する操作のことです。 掲示板などでは、訪問者の入力データをそのまま表示すると、Javascript等のスクリプトが埋め込まれてしまう可能性があります。 スクリプト挿入を防ぐには、<のようなタグ(の一部分)を無害になるように変換したり、除去したりするサニタイズ作業が必要になります。 言語仕様により危険なタグ・記号が異なるので、個別言語ごとに対応するサニタイズ作業を行う必要が有ります。 HTMLサニタイズ 掲示板の投稿者にHTMLタグ利用を許可すると、有害サイトをiframeで表示したり、javascriptを埋め込んで自動実行したりされる危険があります。 HTMLタグを除去するには、htmlspecia

  • 1