ikepyonのだめ人間日記

セキュリティに関することを書いていく予定。

PHPを使用したアプリの脆弱性

ふと、思い立ったので調べてみることにした。面倒だったので、某ツールのテスト項目から統計(というほどでもないけど)を取ってみた。

脆弱性の種類 個数
XSS 192
コンテンツのなりすまし 1
OS Command Injection 6
SQL Injection 150
Buffer overflow 1
Path Traversal 74
情報漏洩 8
不適切な認証 1
DoS 1
機能の悪用 28

さて、このうちBuffer overflowはPHP本体のものだったので無視することにして、見てみるとXSSSQL Injectionがやっぱり多いね。機能の悪用はリモートファイルインクルージョンだけだったりするけど。
まあ、ツールのテスト項目なので偏りがあるのは仕方が無いにしても、ほとんどは以下の2点で対策ができるなぁ。

  1. 入力データの妥当性検証
  2. 出力データのエスケープ処理

もう少し、中身見て原因とかも調べてみたり、Bugtraqとかの情報で調査してみるのも面白いかも。
ちなみに、某ツールのテスト項目では約半数がPHPのアプリの脆弱性だったorz
だからといって「例えば、PHPを避ける」というわけではないので。