前回に引き続き、今回も文字エンコーディングとセキュリティをテーマに解説します。前回は壊れた文字エンコーディングを利用した攻撃、文字エンコーディングを誤認識させる攻撃を紹介しました。今回はSJIS特定の問題を簡単に紹介します。 文字エンコーディングのエスケープ方式を利用する方法 ほとんどの文字エンコーディングは、マルチバイト文字の中に“\”などの特殊文字を含みません。しかし、例外があります。Shift_JISでは“\”がマルチバイト文字に含まれるので、これが原因で脆弱性が発生する場合あります。 SJISの“表” <?php echo rawurlencode(mb_convert_encoding('表', 'SJIS', 'UTF-8')); ?> 出力 %95%5C “%5C”は“\”です。“\”は文字列のエスケープなどに利用される特殊文字です。addslashes関
