[edit]

目次

[edit]

このドキュメントは?

PHPによるWebアプリケーション構築時のセキュリティ対策に関して社内の勉強会用に

 ・<a href="http://www.asahi-net.or.jp/~wv7y-kmr/memo/php_security.html" target="_blank">PHP と Web アプリケーションのセキュリティについてのメモ</a>
 ・<a href="http://www.ipa.go.jp/security/awareness/vendor/programming/

" target="_blank">IPA ISEC セキュア・プログラミング講座</a>

 ・<a href="http://www.amazon.co.jp/gp/product/4883374718/503-3339577-1535166?v=glance&n=465392&s=gateway" target="_blank">PHPサーバーテロの技法 GIJOE 著 ソシム</a>

から特に気になる、注意しておきたい、知見や問題、対策などを簡易にメモしたものです。

勉強回そのものは<a href="http://www.asahi-net.or.jp/~wv7y-kmr/memo/php_security.html" target="_blank">PHP と Web アプリケーションのセキュリティについてのメモ</a>を読みながら進めます。

[edit]

クロスサイトスクリプティング

 クロスサイトスクリプティングの解説記事でよく説明される「入力データチェックを厳密に」という表現から,図3の(1) フォーム受付時のタイミングでサニタイジングを行うのかと思いがちである。サニタイジングは(2)HTML生成時のタイミングで行うべきである。次章「クロスサイトスクリプティング対策の詳細」で説明するが,データを埋め込むHTML中の文脈に合わせて適切なサニタイジング手法を選択する必要があるからである。また掲示板の例では,将来的にデータベースへの記事の書き込み手段として,メールによる投稿が導入された場合でも,(2)HTML生成時のタイミングでサニタイジングしていれば,なんら手を加えることなく,いろんな入力源から入り込んでくるデータを漏れなくサニタイジングできる。また,同じデータに誤って2回以上サニタイジングしてデータの意味が変わってしまうという設計上のトラブルも防げる。
 
 このようにサニタイジングのタイミングは(1)フォーム受付時ではなく,(2)HTML生成時でなければならない。参考文献『Understanding Malicious Content Mitigation for Web Developers』でもHTML生成時のサニタイジングを推奨している。
[edit]

HTTPレスポンス分割攻撃

[edit]

NULL バイト攻撃

[edit]

Email ヘッダ・インジェクション

[edit]

include()、require()


トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS

アークウェブのサービスやソリューションはこちら