Windows WM_TIMER メッセージ処理の問題 – プログラミング – Home

通知
すべてクリア

Windows WM_TIMER メッセージ処理の問題


ボコノン教徒
 ボコノン教徒
(@ボコノン教徒)
ゲスト
結合: 22年前
投稿: 90
Topic starter  

毎度どうも。

こんなのを見つけたんですが
 「Windows WM_TIMER メッセージ処理の問題
 により権限が昇格する」
  http://support.microsoft.com/?kbid=328310

たとえば、プロセスAからプロセスBにWM_TIMERメッセージ
を送った場合、
(1)AのアドレスをlParamに指定してBで実行させる。
(2)BのアドレスをlParamに指定してBで実行させる。
のどちらなのでしょうか?(2)ですよねえ、やっぱり。
それとも、これとは全く別の話なのでしょうか?


引用解決済
トピックタグ
PATIO
(@patio)
Famed Member
結合: 4年前
投稿: 2660
 

思うに、プロセスBにWM_TIMERを送ることでプロセスB内の処理を起動できることを
いっているような気がします。プロセスB内の処理なのでアドレス空間的には、プロ
セスBの中になると思います。
問題なのは、WM_TIMERを発行した側が受ける側よりも低い権限で動作している場合に
処理そのものはプロセスBの権限(発行した側よりも高い権限)で動作できてしまう
ために本来ならシステム上制限がかかるような操作も可能になってしまうということ
だと思います。


返信引用
myy_t
 myy_t
(@myy_t)
ゲスト
結合: 22年前
投稿: 5
 

> (1)AのアドレスをlParamに指定してBで実行させる。
> (2)BのアドレスをlParamに指定してBで実行させる。
私も(2)だと思います。

プロセスAがプロセスB内の関数を呼ぶことができることでしょう。
(1)ができれば何でもできてしまいますよね。

この題名の
「Windows WM_TIMER メッセージ処理の問題
 により権限が昇格する」
    ~~~~~~~~~~~~~~
は、(1)のようなニュアンスですが。


返信引用
ボコノン教徒
 ボコノン教徒
(@ボコノン教徒)
ゲスト
結合: 22年前
投稿: 90
Topic starter  

皆さん、ご意見ありがとうございます。

私がここに行き着いたのは、MSのダウンロード センター
  http://www.microsoft.com/downloads/search.aspx?langid=13&displaylang=ja
にこのバグのパッチがランクインしていたからです。

やはり(2)の場合ですかね。
私はWM_TIMERメッセージのパラメータに関数アドレスなんかは(面倒だから)
指定したことはないのですが、MFCやWinSockあたりが勝手に
TIMERメッセージ待ちとかしてないですよね?ちょっち心配に
なってきました。

>(1)のようなニュアンスですが。

プロセスBの関数の仕様と入り口のアドレスが既知の場合、プロセスA
がその関数を狙い撃ちできる、という意味だと思います。
狙い撃ちできなくても、でたらめなアドレスを送ってプロセスBを
クラッシュさせることはできるんじゃないですか。


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

プレビュー 0リビジョン 保存しました
共有:
タイトルとURLをコピーしました