涉及程序: 当前所有Windows版本 详细: drwtsn32.exe可能导致敏感信息泄漏 drwtsn32.exe(Dr. Watson)是一个Windows系统内置的程序错误调试器。默认 状态下,出现程序错误时,Dr. Watson 将自动启动,除非系统上安装了VC等其他具有 调试功能的软件更改了默认值。注册表项:
下的Debugger 项的值指定了调试器及使用的命令;Auto 项决定是否自动诊断错误, 并记录相应的诊断信息。
在Windows 2000中drwtsn32.exe默认会将故障转储文件user.dmp存放在目录 “\Documents and Settings\All Users\Documents\DrWatson”下。权限为Everyone 完全控制。在Windows NT中被存储在“\WINNT\”中,everyone组至少有读取权限。 由于user.dmp中存储的内容是当前用户的部分内存镜像,所以可能导致各种敏感信息 泄漏,例如帐号、口令、邮件、浏览过的网页、正在编辑的文件等等,具体取决于崩溃的 应用程序和在此之前用户进行了那些操作。 因为Windows程序是如此易于崩溃,所以不能排除恶意用户利用此弱点获取非授权信息 的可能。例如:利用IE5.0以上的畸形注释漏洞就可以使浏览包含恶意代码的iexplore.exe 和查看包含恶意代码的邮件程序崩溃。(关于IE的畸形注释漏洞请参见拙作《包含畸形注释 的HTML文件可使IE 5.0以上版本崩溃》) 解决方案: 微软尚未对此做出反应。 在可用的补丁出来之前,采取以下任一措施皆可解决此问题, 1、键入不带参数的drwtsn32,更改故障转储文件到一个特权路径,如: \Documents and Settings\Administrator\DrWatson 或取消“建立故障转储文件”选项。 2、删除注册表项
下的相关键值。 3、使用其它调试工具。并在注册表中正确设置。 附加信息: 发现者:tombkeeper@126.com drwtsn32 参数 drwtsn32 <-i> <-g> <-p pid> <-e event> <-?> -i 将 DrWtsn32 当作默认应用程序错误调试程序 -g 被忽略,但作为 WINDBG 和 NTSD 的兼容而被提供 -p pid 要调试的进程 id -e event 表示进程附加完成的事件 -? 这个屏幕