2025/02/26 03:17 &◆5Jm27J |
> 2025/02/22 10:46 > SmokingWOLF > ID:errreirpL408
> ●【テキスト出力/調整】マップ・コモン・各DB・タイルセットで > 出力可能なテキストファイルに、UTF-8の「BOM」を付けるよう修正 > → コモンのTXTファイルなどをサイトにアップしても > UTF-8文字コードと認識されなくて不便だったためです。
UTF-8にBOMを付けないでください
ストリームの先頭の0xEF 0xBB 0xBFのせいでUTF-8と認識できなかった場合かつ、UTF-7のエスケープ文字が含まれる場合にそれを見つけた時点でUTF-7と判断するプログラムで任意のBASE64をデコードさせる脆弱性に繋がります。これは昔あったIEにUTF-7を認識させるXSSと同じ攻撃です。
素のUTF-7のエスケープ文字'+'で任意のBASE64をデコードさせることができるソフトがあることは確認しました。おそらく修正UTF-7を認識するプログラムならば'&'でも可能です。
unicode consortiumはUTF-8のBOMについて「付けてもよいが推奨はしない」としていますがunicodeを参照する上位の仕様・標準において最近では「UTF-8にBOMを付けてはならない(MUST NOT)、エラーとして扱わなくてもよい(MAY)」とする傾向になってきています。
また、windowsにおいてもVS2015からコマンドライン引数でBOMなしUTF-8を処理できるようになりwin 10 may updateからメモ帳がBOMなしを処理できるようになるなど変化しています。PowerShellのスクリプトもgithubを見ているとBOM無しが増えてきました。
|