PHPはWebシステムの中で広く使われているポピュラーなスクリプト言語だ。だが、手軽に習得し、開発が行えるとあって成果物のレベルが様々であり、中にはセキュリティ上問題のあるコードが多数存在することがある。そうしたセキュリティ上の問題を解決する手法やフレームワークもあるが、ごく簡単なシステムでは使われることがないだろう。

ピクチャ 22.png

SQLのコードを精査し、問題の発見につなげる

 

そのようなものを放置しておくと、いつ何時問題がわき上がるか分からない。そうした不安を取り除くためにもPixyを使ってみよう。

今回紹介するオープンソース・ソフトウェアはPixy、XSS、SQLインジェクションを発見するスキャナソフトウェアだ。

最初に断っておくと実際試してみたところでは100%の解決にはつながらなさそうなのでご注意いただきたい。PixyはJavaで作られたソフトウェアで、PHPファイルを指定して実行するとソースファイルを解析し、問題がある部分がないか精査し、レポート出力してくれる。

ピクチャ 23.png

こちらは公式サイトのWeb版インタフェース

 

例えばGETやPOSTで渡されたものをそのまま使っている部分はないだろうか。サニタイズしたり、危険な文字列を無効化して使わないとXSSになったりする可能性がある。また、SQLのクエリーを作成する際にも適切に文字列を処理しなければ、SQLインジェクションを生み出す可能性がある。

基本はCUIでの実行になるようだが、公式サイトではWebインタフェースも提供されている。SQLインジェクションの検出がうまくいかなかったり、外部の読み込みファイルやオブジェクト指向で隠蔽されているとうまく検出できないといった問題があるようだが、それでもあからさまな問題は事前に解決できるだろう。開発したコードに問題がないか、チェックするのに使ってみてはいかがだろう。

 

Pixy: XSS and SQLI Scanner for PHP

 http://pixybox.seclab.tuwien.ac.at:80/pixy/index.php