ウェブサイトのファイルを改ざんするガンブラー(Gumblar)の流行で思った事。
ご存知の通り、このガンブラーはサイト内(サーバー内でアクセス可能な部分)に設置されたファイルに特定のコードを挿入します。
挿入されるコードは
/*LGPL*/ try から始まるコードですが
上記の文字列でコード挿入が行われるのはJavascriptファイル(*.js)です。
ディレクトリの位置は関係なく、FTPで接続した際にアクセス可能なファイル全てにコードを挿入します。
そして、indexとdefaultという文字列を持つファイルにも同様にコードの挿入を行いますが
JAVASCRIPT以外のファイルには、<script>LGPL*/ tryと、スクリプトタグから始まるコードとなります。
例えば、このコードの挿入が行われたファイルがPHPファイルの場合、ファイルの最後の閉じタグ「 ?> 」を入れない事でスクリプトの実行を阻止できますね。
なぜ阻止できるのか。
PHPファイルであれば、<script>/*LGPL*/ tryの最初の「<」の部分でエラーとなってしまい、ページ自体を表示させる事ができなくなってしまいます。
これが、静的なHTMLファイルの場合、、<script>/*LGPL*/ tryの部分はファイルの構文にどんなミスがあろうともブラウザに吐き出しますので、セキュリティホールのあるPCで閲覧された場合には、感染させてしまう事になります。
静的なHTMLファイルで作成されたサイトは、こんなにも脆いものなんです。