2010-02-08 127 views
5

我想知道是否有可能从正在运行的应用程序的外部注入JavaScript到.NET WebBrowser控件中?外部JavaScript注入

感谢

STW


澄清:我想知道,如果有人能拿到包裹组件的内部过程的保持和手动插入他们喜欢什么进入“浏览器“部分的应用程序。

+0

我当然希望不会:) – 2010-02-08 12:07:50

回答

4

这对于Internet Explorer中的WebBrowser来说并没有什么不同。一旦应用程序可以获得WB的窗口句柄,它就可以使用LresultFromObject()访问屏幕阅读器使用的Accessibility界面。我有seen this used以获得一个IHmtlDocument2接口指针,提供对DOM的访问。当然,一旦应用程序获得足够的特权来实现这一点,还有许多其他方法可以实现。首先关注IE的安全,WebBrowser将会跟风,因为它只是IE而没有框架窗口。

0

您能澄清一下您担心的攻击媒介是什么吗?

'您是否担心可以将数据注入.NET WebBrowser对象:a)运行应用程序的用户? b)在相同用户身份下运行在同一个盒子上的一个软件 c)有人嗅探html流量(在用户和网络服务器之间)和(可能)修改它d)另一个在不同标签上打开的网站?

你基本上需要做你的使用情况的威胁模型练习,并与我们共享成果(这里是威胁建模的一些信息:http://en.wikipedia.org/wiki/Threat_model

0

如果当你问你的澄清” ...我想知道是否有人能够掌握封装组件的内部过程,并手动将它们喜欢的内容插入到应用程序的“浏览器”部分....“您的意思是'...您的另一个进程正在运行计算机作为相同的用户(例如说,例如WinZip的恶意副本)...'然后是的,这将是可能的。

在windows中,属于同一用户的进程之间没有分隔,因此如果您的应用程序XYZ包含WebBrowser控件,则另一个应用程序(恶意WinZip应用程序)将能够挂接到该进程,操纵您在该WebBrowser上看到的内容。

(注意,Vista中/ Windows 7中添加了UAC(用户访问控制),我相信没有防止这种情况发生)

+0

为什么我得到这个权利?任何以我的用户开始的进程都可以操纵从我的用户开始的任何其他进程,并因此更改或从中获取数据? – TheChange

+0

是的,这是正确的(我认为有一些警告,如果使用UAC,需要一些解决方法(请注意,微软确认UAC不是安全隔离技术)) –