上の脆弱性を要約すると、

「"(ダブルクォート) は 1バイト文字だけど、ユーザが送る文字列の最後に不正な1バイトコードをいれることで、
その1バイトコードと、ダブルクォートが合体した、不正な文字化けした2バイトデータと扱われ、ダブルクォートが消失してしまう(文字化けした・になる)」ということです。

こういった「文字化けを悪用した攻撃」に関する解説サイトはなかなか見つからず困っています。(上の情報は自分で検証した結果です。)
これの対処についていくつか質問があります。


・ユーザから送られてきた文字列が、Shift_JIS として正当であることを確認する、モジュールなどはないでしょうか?
それができたら、文字化けを悪用した攻撃は防げるかと思います。


・EUC-JP や UFT-8 ではこのような問題は発生しないのでしょうか?
参考: http://www2d.biglobe.ne.jp/~msyk/cgi-bin/charcode/bbs.cgi?past=1&c=r&n=82

 ・もし、EUC-JP などなら問題が生じないのであれば、スクリプトの文字コードの変換をやろうかと思います。
  Shift_JIS の駄目文字を "\" でエスケープしているコードを自動的に変換するソフトはないでしょうか?


ご教示お願い致します。