1

在网站(我们的一个)的页面上,我可以在 url 中输入以下代码:

javascript:createNewWindow('Something', 100, 100, 'Text')

有没有办法有人可以利用这个?

function createNewWindow(url, widthIn, heightIn, title) 
        {
            var strOptions='toolbar=0,location=0,directories=0,status=1,menubar=0,scrollbars=1,resizable=1,width=' + widthIn + ',height=' + heightIn;
            var newWin = open( url,title,strOptions ); 
            newWin.focus();
        }
4

4 回答 4

1

函数 createNewWindow() 具有与 window.open() 完全相同的漏洞。您可能不需要担心这一点。

如果您对添加代码的评论意味着您能够提交

javascript:createNewWindow('Something', 100, 100, 'Text')

在表单输入(或作为查询字符串参数)中并将其显示在呈现的 HTML 中,那么您的应用程序确实很容易受到多种类型的攻击,但不是由于 createNewWindow() 函数。在这种情况下,问题将是从浏览器呈现未经检查的数据。

于 2008-10-22T17:59:38.063 回答
1

鉴于该代码,createNewWindow() 脚本并不比原始 javascript 更容易受到攻击。

于 2008-10-22T17:58:42.357 回答
1

这本身并不是不安全的,您需要注意应用程序的其他部分以防止漏洞利用。确保验证来自浏览器、您的数据库、外部服务以及您无法控制的任何其他信息的所有信息。

了解跨站点脚本(又名 XSS 或 CSS)将帮助您了解该代码的风险。

于 2009-03-01T04:25:18.830 回答
0

一般来说,在您的网站上运行的 javascript 并不是漏洞的来源。您应该担心应用程序的服务器端。

然而!您可以使用 javascript 将漏洞引入您的站点。它称为基于 DOM 的 XSS。您发布的代码不易受到基于 DOM 的 XSS 的攻击。

于 2010-01-29T17:23:55.513 回答