アカウント名:
パスワード:
同一のフォルダにdll仕込まれたらインストーラでなく、ふつうのアプリでもそのdllを読みにいくよね。これはwindowsの仕様によるもの。もちろんそのdllが正規なものかどうかのチェックをインストーラ側(exe側)でチェックすることもできるから脆弱性といえばそうなのかもしれないけど、dll側がapiフックかけてそのチェックを回避することもできるしねー。
> dll側がapiフックかけてそのチェックを回避することもできるしねー。kernel32.dllだけDLLして、残りはファイルチェック掛けてからorシステムパスを指定してLoadLibraryで確か行ける。
kernel32.dllとかはこの攻撃出来ないんじゃなかったかな。kernel32.dllの読み込み順序とかが違うんだったか、差し替えても正規のに飛べずにコケるから無意味なんだったか忘れたけど、アプリの改造でこれらのAPIをフックする時は_ernel32.dllとかを用意してEXE内の文字列を書き換えるとかがテンプレパターン。
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
私はプログラマです。1040 formに私の職業としてそう書いています -- Ken Thompson
仕様と脆弱性の違いはどこに? (スコア:1)
同一のフォルダにdll仕込まれたらインストーラでなく、ふつうのアプリでもそのdllを読みにいくよね。
これはwindowsの仕様によるもの。
もちろんそのdllが正規なものかどうかのチェックをインストーラ側(exe側)でチェックすることもできるから脆弱性といえばそうなのかもしれないけど、dll側がapiフックかけてそのチェックを回避することもできるしねー。
Re:仕様と脆弱性の違いはどこに? (スコア:0)
> dll側がapiフックかけてそのチェックを回避することもできるしねー。
kernel32.dllだけDLLして、残りはファイルチェック掛けてからorシステムパスを指定してLoadLibraryで確か行ける。
kernel32.dllとかはこの攻撃出来ないんじゃなかったかな。
kernel32.dllの読み込み順序とかが違うんだったか、差し替えても正規のに飛べずにコケるから無意味なんだったか忘れたけど、アプリの改造でこれらのAPIをフックする時は_ernel32.dllとかを用意してEXE内の文字列を書き換えるとかがテンプレパターン。