Hello, (forgotten) world ☂

Different Behaviors of DownloadString and Uri between .NET and Mono

Note: This is the summary of my posts (they are written in Japanese): tkbctf3 Miocat MonoのWebClientにおけるURI 結局Monoと.NETの挙動の違いはなんだったのか I already reported this as a bug for Xamarin’s Bugzilla. Introduction I found the different behavior of WebClient.DownloadString(String) between Mono and .NET Framework when an invalid URI passed to it. In the Mono’s implementation, it may cause a security issue. This causes by two different behaviors, in new Uri(String), and Path.GetFullPath(String). DownloadString DownloadString(String) and some methods (e.g. DownloadFile(String), OpenRead(String), etc.) calls CreateUri(String), a private method of WebClient. (-> source code on github) CreateUri and GetUri CreateUri(String) tries to make

結局Monoと.NETの挙動の違いはなんだったのか

続・アレな文字をWebClient.DownloadString(String)に渡すとローカルのファイルが読める ここ2つの記事でMonoのWebClient.DownloadString(string)にアレな文字列渡すとローカルファイルを落としてきてしまうという挙動について調

MonoのWebClientにおけるURI

発端 発端は前の記事にあるように、tkbctf3の問題としてmiocatなるものを出してみたのはいいものの、意図とは異なる脆弱性を作り込んで250点問題が超絶ボーナス問題になりましたよ、というお話しです。 調査 miocatはC#で書かれており、実際の運用ではMonoランタイムで動いて

tkbctf3 miocat

miocat(みお・きゃっと)はとある伝説の脱ヲタエンジニアが書き上げた伝説のプログラムに着想を得てっていうのはどうでもいいとして、実際のところは.NET Frameworkのとある仕様に関する問題です。でした。以下本来の意図の説明です。 ソースコード と、その前に。今回のソースコード

RailsAdminの日時選択が日本語でバグる

概略 Rails Adminでdatetime型(日時)のカラムを含むモデルを操作する際、ロケールが日本語で、かつsvenfuchs/rails-i18nのファイルをそのまま使っていると例外ArgumentError(argument out of range)で死ぬ。 原因 そもそも内部で使ってるDate