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

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





しかP@ボスが来る前に(苦笑)、です。

on 01.5.16 6:11 PM, Shin at shin@xxxxxxxxx wrote:
> In article <20010516141221.E636.TAKAGI@xxxxxxxxx>
> TAKAGI, Hiromitsu wrote:
>> %%35c -> %5c -> \
>> %%35%63 -> %5c -> \
>> %25%35%63 -> %5c -> \
>> 
>> ですね。二度だけであるなら有限個の静的パターンで表現できそうですね。
> 
> でもなぞのUTF-8等も組み合わせられるんですよね。
> # 去年話題になった。詳しくないですが^^

組み合わせパターンは効くんでしょうかねぇ。さすがにIIS Unicodeの
パッチを当てていないテストマシンを見つけるのが難しい今となっては
試したくても試せない、と言う方の方が多いでしょうし。
#もしくはパッチも知らないけどDecode穴もしらない、とか。

> それが塞がれていても、デコードすると同一の文字列になるようなものを
> 冗長に表現する方法はやたら存在するし、リクエストで弾く手法はやはり
> 厳しいです。
> 取りあえずUTF-8を抜きにして考えても'¥'を弾きたいだけで
> 
> %,%25  *  5,%35  *  c,C,&63,%43
> 2         2           4
> 
> で16通りですし(これすら漏れがあるかも)、これが2文字以上のシーケンス
> を検出しなきゃならないケースだったりしたら…。

あれ?
・・・そうか、1文字についてもう少しパターンが多そうですね。
というわけでちょっと考えてみると、
%255C、%25%35C、%25%35%63、%255%63、%%35C、%%35%63、%5%63
%25%35%43、%255%43、%%35%43、%5%43
の11通りができました。(¥についてのみ、"C"は大文字のみです)
#もうちょっとありそうなんだけど・・・・(^^;;;

ちょっと%25%35%63とかってのが一般的なURLエンコードっぽくて誤検知しそう
ですが、残りはちょっと特殊なのでIDSに引っかけやすいかも。
とはいえ、ちょっとパターンマッチングを逐一作るのはばかばかしいですね。


> WebServer自体がCGI実行直前部分にフックを組み込んでおいてくれて、
> 最終的な実行ファイルをユーザがチェックして弾く処理を組み込むこと
> が出来るようになっていればいいのですが…。

つーか、そもそもなんで2回もDecodeせにゃいかんのでしょう、ってのが
問題ではないかと。
#そこがいまいち納得できないんですよね。
#大抵のバグは「あぁ、そういうコーディングしちゃうかも」と同情する
#パターンなのですが。
#いまいち想像がつかないです、なぜこのようなコードになっているか。

どっちにしろ、パッチは当てましょう。ハニーポッドとして運用するなら
ともかく。

あと、IDSで検知するのは不可能じゃないですが、面倒です。
だれかプリプロセッサ作ってくれませんか?(^^)


-- 
============================
  鹿田 幸治       Koji.Shikata
   E-Mail:koji.shikata@xxxxxxxxxxxx
            :shikap@xxxxxxxxxxxx
snortパッチ公開中:http://www.yk.rim.or.jp/‾shikap/patch/
============================


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