Board logo

Subject: [讨论]消息处理 [Print This Page]

Author: jAmEs_    Time: 2007-11-5 09:14     Subject: [讨论]消息处理

使用PostThreadMessage WM_QUIT来退出程序安全吗?怎么感觉好像与强制终止差不多。
这个消息由操作系统完成?
Author: skyjacker    Time: 2007-11-5 14:26

你说的不安全是指什么的不安全?
Author: Passion    Time: 2007-11-5 15:14

怕必要的东西没释放?
Author: jAmEs_    Time: 2007-11-6 09:11

是啊,或者资料未保存直接退出
Author: jAmEs_    Time: 2007-11-6 09:47

把WM_QUIT发送到程序任何一个窗口程序都退出?
Author: skyjacker    Time: 2007-11-10 17:26

http://netsecurity.51cto.com/art/200508/5659.htm

BUGTRAQ  ID: 8747

Microsoft Windows是微软开发和维护的操作系统。

Microsoft Windows在通过PostThreadMessage() API调用处理从另一进程发送的消息时存在问题,本地攻击者可以利用这个漏洞杀掉系统任意进程。

PostThreadMessage函数在指定线程的消息队列中放置消息,然后不等线程处理消息就返回。但Windows操作系统在处理消息机制上存在问题,通过PostThreadMessage函数给进程发一个WM_QUIT的消息,目标进程就会结束,虽然进程(服务)是以system权限运行的,但是没有对发送消息的进程进行有限的权限判别,因此任何进程可以向高权限进程发送消息,如给它发一个WM_QUIT消息,会导致进程退出。

不过一般对防火墙等进程进行操作时,会提示需要密码才能完成操作。


--------------------
有条件可以在不同平台上试一下.




Welcome to CnPack Forum (http://bbs.cnpack.org/) Powered by Discuz! 5.0.0