タグ

vulnerabilityとcharsetに関するkirara_397のブックマーク (2)

  • Unicodeで拡張子を偽装された実行ファイルの防御方法 - 葉っぱ日記

    「それ Unicode で」などで紹介されている、Unicode の U+202E (RIGHT-TO-LEFT OVERRIDE; RLO)を使って拡張子を偽装された exe ファイルの実行を抑止する方法を思いついた。 メモ帳を開いて、"**"と入力する(前後の引用符は不要)。 "*"と"*"の間にキャレット(カーソル)を移動させる 右クリックで「Unicode 制御文字の挿入」から「RLO Start to right-to-left override」「RLO Start of right-to-left override」を選択 Ctrl-A で全て選択、Ctrl-C でクリップボードにコピー。 ローカルセキュリティポリシーを開く 画面左側の「追加の規則」を右クリック 「新しいパスの規則」を選択 「パス」欄で Ctrl-V をして、メモ帳の内容を貼り付ける。 セキュリティレベルが「

    Unicodeで拡張子を偽装された実行ファイルの防御方法 - 葉っぱ日記
  • UTF-8 エンコーディングの危険性 - WebOS Goodies

    的に、まともな国際化ライブラリを使っていれば、上記のような不正な文字コードはきちんと処理してくれるはずです。実際、 Opera, Firefox, IE ともに適切にエスケープしてくれました。また、 UCS に変換した後にエスケープ処理を行うことでも対処できるかもしれません。しかし、複数のモジュールで構成されるような規模の大きいアプリケーションでは、そのすべてが適切な処理を行っていると保証するのも、なかなか難しいかと思います。ここはやはり、すべての外部入力に含まれる不正なシーケンスを、水際で正規化するという処理を徹底するのが一番かと思います。 例えば Ruby の場合、不正な UTF-8 コードを検出する最も簡単な方法は、 String#unpack を使って UCS へ変換してみることです(昨日の記事への kazutanaka さんからのはてぶコメントにて、 iconv でも同様なこ

  • 1