アカウント名:
パスワード:
どうみても仕様。こういうのをどや顔で脆弱性報告しちゃうのはどうかと思うし、受け付けちゃうのもびっくりする。日本のITスキルの水準がわかる事例。
msiファイルを置いただけのフォルダからDLLを読む必要がどうしてあるんかね。仕様とは思えないが?
MFC等のアプリで使用しているDLLを偽造してカレントに置いておけば、システムが勝手にカレントのDLLをロード(起動時に動的リンクされたライブラリを自動的に読み込む)してしまうのよ。
つまり、一切ランタイムを使わないでインストーラを作れって話になるんだけど。
システムディレクトリ等から読み込みたいのなら、そう指定すべきでは?元々カレントにあったDLLを上書きする、という話ならその通りですが。
動的リンクされたライブラリのロードは、OSがやります。その際、カレントディレクトリ、システムディレクトリの順で対象のDLLを探すので今回の話になるわけです。(動的リンクしたライブラリの読込場所は指定できない)
一応、動的リンクをやめて、全てのライブラリをloadlibraryで読み込む様にすれば、回避できるけど、普通はやらないね。(MFC等のクラスライブラリを使ってるとほぼ不可能だと思う)
一応。カレントディレクトリは「実行ファイルのディレクトリ」の意味で記載してます。
なるほど、普通にMFC等を使おうとするとそうコンパイルされるわけですね。LoadLibraryできちんと指定していすればいいとは聞いていたので、MS製品はやってるのだろうと思ってました。
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
海軍に入るくらいなら海賊になった方がいい -- Steven Paul Jobs
イミフ (スコア:0)
どうみても仕様。こういうのをどや顔で脆弱性報告しちゃうのはどうかと思うし、受け付けちゃうのもびっくりする。日本のITスキルの水準がわかる事例。
Re: (スコア:1)
msiファイルを置いただけのフォルダからDLLを読む必要がどうしてあるんかね。
仕様とは思えないが?
Re: (スコア:0)
MFC等のアプリで使用しているDLLを偽造してカレントに置いておけば、システムが勝手にカレントのDLLをロード(起動時に動的リンクされたライブラリを自動的に読み込む)してしまうのよ。
つまり、一切ランタイムを使わないでインストーラを作れって話になるんだけど。
Re:イミフ (スコア:0)
システムディレクトリ等から読み込みたいのなら、そう指定すべきでは?
元々カレントにあったDLLを上書きする、という話ならその通りですが。
Re: (スコア:0)
動的リンクされたライブラリのロードは、OSがやります。
その際、カレントディレクトリ、システムディレクトリの順で対象のDLLを探すので今回の話になるわけです。(動的リンクしたライブラリの読込場所は指定できない)
一応、動的リンクをやめて、全てのライブラリをloadlibraryで読み込む様にすれば、回避できるけど、普通はやらないね。(MFC等のクラスライブラリを使ってるとほぼ不可能だと思う)
Re: (スコア:0)
一応。
カレントディレクトリは「実行ファイルのディレクトリ」の意味で記載してます。
Re: (スコア:0)
なるほど、普通にMFC等を使おうとするとそうコンパイルされるわけですね。
LoadLibraryできちんと指定していすればいいとは聞いていたので、MS製品はやってるのだろうと思ってました。