[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[stalk:00398] Re: IIS CGI Filename Decode Error Vulnerability





On Wed, 16 May 2001 14:07:22 +0900 
Shikap <shikap@xxxxxxxxxxxx> wrote:
> on 01.5.16 1:26 PM, TAKAGI, Hiromitsu at takagi@xxxxxxxxx wrote:
> > On Wed, 16 May 2001 12:48:39 +0900
> > "他力本願堂" <tarikihongandou@xxxxxxxxxxx> wrote:
> > > 0x255cはそのまま1バイトコード二個とすれば「%\」になりますので
> > > そのへんでなんかやっちゃってそうな気がするんですよねえ。
> > > 0x25 → 「%」
> > > 0x5c → [\」
> > > 展開後に%\で、%だけ除去してエンコードしきれないまま渡す
> > > とかそういうことやってるんじゃないかな(´д`;
> > 
> > 今回の問題は、「『URLエンコード』のデコードを二度(以上)処理してしまっ
> > ている」という問題だと思います。
> > 
> > %255c -> %5c -> \

訂正します。未確認ですが、今回の件は「デコードをズバリ二度処理している」
(三度以上ではない)かもしれません。(原理としては「二度以上」というつ
もりでした。)

ですので、

> %%35c -> %5c -> \
> %%35%63 -> %5%63 -> %5c -> \
> %25%35%63 -> %%35%63 -> %5%63 -> %5c -> \

%%35c -> %5c -> \
%%35%63 -> %5c -> \
%25%35%63 -> %5c -> \

ですね。二度だけであるなら有限個の静的パターンで表現できそうですね。

> つーことは、もしかして"."や"/"もこの要領でコーディングすると
> 穴がつける、っちゅうことかしら。
> たりきさん、試してみませんか?(^^)

でしょうね。

> つか、どうしたらそんなプログラムを作れるのかしら>MS
> これ、何度もデコードするようにループさせていると言うことだから、
> 無限ループにはめることもできたりして?さすがにちょっと無理か。

二度デコードが起きるという点については次のように想像できます。

  OS(やミドルウェア)の「インターネット対応化」を推進するために、ファ
  イルを扱う部分のパス名をURLとして表現(「file:///...」のように)可能
  にする汎用化拡張を行ったために、ファイル名をOS(やミドルウェア)に渡
  した後で、URLエンコーディングのデコード処理が実行されてしまうように
  なってしまった。その結果、アプリケーションレベルで「..\」などを検出
  してはじくようにしていた部分がすり抜けられてしまう。

と。

「..\」等のチェック処理は、ウェブサーバのみならず、CGIやServlet等でも
行われているものであり、影響が一般の開発者の開発物にも及ぶので、上の推
定が正しいとすると、事態は極めて深刻だと思います。


(確認しようと思っていたけど、忙しすぎてまだ...T_T)

高木 浩光@産業技術総合研究所
http://www.etl.go.jp/~takagi/ (仮)

--
- このメイリングリストに関する質問・問い合せ等は
- <security-talk@xxxxxxxxxx>までお知らせください
--
------------------------------------------------------------------------
           ふとした疑問ありますか?           
   http://www.infoseek.co.jp/GHome?pg=gn_top.html&svx=971122