CnPack Forum » 技术板块灌水区 » [讨论]消息处理


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

使用PostThreadMessage WM_QUIT来退出程序安全吗?怎么感觉好像与强制终止差不多。
这个消息由操作系统完成?

2007-11-5 14:26 skyjacker
你说的不安全是指什么的不安全?

2007-11-5 15:14 Passion
怕必要的东西没释放?

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

2007-11-6 09:47 jAmEs_
把WM_QUIT发送到程序任何一个窗口程序都退出?

2007-11-10 17:26 skyjacker
[url]http://netsecurity.51cto.com/art/200508/5659.htm[/url]

BUGTRAQ  ID: 8747

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

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

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

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


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

页: [1]
查看完整版本: [讨论]消息处理


Powered by Discuz! Archiver 5.0.0  © 2001-2006 Comsenz Inc.