[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[port139:00737] URLScan の [DenyUrlSequences]
- To: port139@xxxxxxxxxxxxx
- Subject: [port139:00737] URLScan の [DenyUrlSequences]
- From: Hideaki Ihara <hideaki@xxxxxxxxxxxxx>
- Date: Thu, 18 Oct 2001 12:13:11 +0900
Port139 伊原です。
URLscan を入力文字列のチェックに利用できるだろか?と思いちょこちょこ
調べています。
URLscan では [DenyUrlSequences] という項目でリクエストに含まれてはい
けない文字列を定義できるんですが、デフォルトでは以下のようになってい
ます。
[DenyUrlSequences]
.. ; Don't allow directory traversals
./ ; Don't allow trailing dot on a directory name
\ ; Don't allow backslashes in URL
: ; Don't allow alternate stream access
% ; Don't allow escaping after normalization
& ; Don't allow multiple CGI processes to run on a single request
で、これに < と > を加えてクロスサイト スクリプティング対策で使えない
かなぁとか思い、塩月さんの原稿 http://www.st.rim.or.jp/~shio/w2kworld/iiscss/
を参考にテストしてる最中です。
実際に、URLscan を Windows 2000(IIS 5.0)にインストールし、
[DenyUrlSequences]に < と > を定義。
iisreset を実行後、以下の URL でアクセスを試みたところ URLscan がこの
リクエストを拒否しませんでした。
http://192.168.1.1/greeting.asp?word=%3C
同様に
http://192.168.1.1/greeting.asp?cmd.exe
としても URLscan が拒否しないので、? 以降の文字列をチェック対象にして
いないと思われます。
http://support.microsoft.com/support/kb/articles/q307/6/08.asp
の AllowDotInPath の説明文を見る感じでは、? 以降はチェック対象になら
ないような感じなんですが、これってどなんでしょね...
? 以降も解釈するかしないかを指定できるといいんですけど、ここはやはり
Gurad3 の出番なのかしら :-)
---
Hideaki Ihara <hideaki@xxxxxxxxxxxxx>
Port139 URL: http://www.port139.co.jp/
PGP PUBLIC KEY: http://www.port139.co.jp/pgp/