一次偶然的机会我发现了outlook2000 的这个漏洞,不过在outlook2003 上开始这个漏洞已经没有了,最近我发现还有不少非 IT 认识 在xp 上还是在使用outlook2000,所以把这个写出来,源代码我已经删掉了,不过程序中我原来的一个项目里使用至今。
原理是:
1. 利用 mapi 调用outlook 发送邮件
2. 正常情况下,outlook2000 会弹出一个对话框让用户输入用户名密码
3. 这时候,你用spy++ ,你扫一下这个对话框,此对话框的窗口名你记下来 为 strWinName;
4. 在调用 mapi 之前,启动一个定时器,定时 HWND hw = FindWindow(NULL,strWinName);
5. 当扫描到 hw != null 时 ,postmessage(hw,WM_QUIT,NULL,NULL); 这是 邮件就会自动发送出去,而对话框用户也没法看到
至于你想从用户的收件箱里拿些什么东西发送到指定邮箱,用户的 发件箱里也不会有任何记录