GETメソッドに全角文字を入れてみた!が。。。

MSのISA2006をエッジサーバとして使用したネットワークのお話。
ISA2006配下にWEBサーバを設置、コンテンツを配信できる状態を構築。
GET文に全角文字が入っていると、以下のエラーがでてきました。
------------------------------------------------------------
技術情報 (サポート担当者用)

エラー コード: 500 Internal Server Error. The request was rejected by the HTTP filter. Contact the server administrator. (12217)
------------------------------------------------------------
原因は、ISA側のXSS等をブロックするルールが実装?と思い、コンテンツ側の修正作業を実施。
※全角文字をescape処理(%XXや%uXXXへ変換)へ行ったが、エラーですた

2010.03.27 Update!!!

ISAの設定画面を確認したところ、「ハイビット文字をブロックする」のチェックが原因でした。
※HTTP フィルタを使用したHTTPアクセスのセキュリティ保護(Wordドキュメント)

チェックが入っていると、2 バイト文字セット (DBCS) または Latin-1 文字をURL内に埋め込むことができません。

ではなぜこの設定が存在しているのか?

2001年9月に発生したWindowsOSをターゲットとしたウィルスnimdaは、当時過去最悪のウィルスでした。

IISの脆弱性をつく際URLの一部にDBCSをうまく利用しており、この一件でISAのこの設定ができたんではないかと予想しています。

教訓としては、セキュリティレベルを下げずに実現できる方法を考え、システムを作るべし!でしょうか。
スポンサーリンク

スポンサーリンク