ASP.NET の脆弱性!
2004年10月8日(金曜日)
ASP.NET の脆弱性!
更新: 2005年2月10日
「ASP.NET の脆弱性?」の話ですが、セキュリティホールmemo で詳細が紹介 (www.st.ryukoku.ac.jp)されていました。
これ、どうやら Basic 認証が貫通するという話のようですね。認証かけていない場合は関係ないみたいで一安心?
参考までに Basic 認証をかけた ASP.NET なページを用意してみました。http://bakera.jp/bug/auth-test.aspx に普通にアクセスすると、401 になる (パスワードを求められる) はずです。
%5c などは URL Scan で蹴られたりしますが、http://bakera.jp/%20/bug/auth-test.aspx とやるとあっさり貫通するようですね。「ASP.NET の正規化の問題をプログラムによって確認する方法 (support.microsoft.com)」に出ている対策は行ってあるのですが、それでは不十分のようです。
※……というか、global.asax の Application_BeginRequest() の中でも正規化された後の値しか受け取れていないような気がするのですが、気のせいなのかなあ。気のせいでないとすると、そもそも対策に意味がないと思うわけですが。
※追記 :「報告された Microsoft ASP.NET の脆弱性に関する情報 (www.microsoft.com)」が更新され、Microsoft ASP.NET ValidatePath Module (www.microsoft.com) というものが公開されています。ひとまずこれで回避できるようです。
※2005-02-10 追記: 修正されました。「ASP.NET パス検証の脆弱性 MS05-004 (www.microsoft.com)」
- 「ASP.NET の脆弱性!」にコメントを書く
- 前(古い): チャレンジ・レスポンスではパスワードが送られるか?
- 次(新しい): RSS の Content-Type