Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/423.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 是window.location=example.com吗?q=<;用户输入>;易受XSS影响?_Javascript_Xss - Fatal编程技术网

Javascript 是window.location=example.com吗?q=<;用户输入>;易受XSS影响?

Javascript 是window.location=example.com吗?q=<;用户输入>;易受XSS影响?,javascript,xss,Javascript,Xss,假设我有以下代码: //--get the value that was passed in via a query string parameter var passedInQueryStringValue = getQueryStringValueFor("someKey"); //--append the value to the window.location as such: window.location = "https://example.com?q=" + passedInQu

假设我有以下代码:

//--get the value that was passed in via a query string parameter
var passedInQueryStringValue = getQueryStringValueFor("someKey");
//--append the value to the window.location as such:
window.location = "https://example.com?q=" + passedInQueryStringValue ;
这是否容易受到XSS(或任何其他攻击)?让我们假设example.com正确地处理了q的任何值,因为这不是我感兴趣的部分


这里有些可疑之处,但我不确定是否存在漏洞。

这取决于example.com如何处理查询字符串q

根据Adrian和@GuyT,此代码是安全的,不易受到XSS或代码注入的影响


当然,example.com不能对q值做任何愚蠢的事情(比如将其打印为HTML)-但这不是问题所在。

抱歉,说清楚了,我想假设example.com处理一切都很好。我真的想确定你是否可以通过“userInput”(比如在客户端运行脚本或操纵路径)进行恶意操作。在上面的回答中,你所做的是允许用户通过querystring将任何字符串传递到另一个网站。由网站的开发人员来确保以任何方式提供的输入都可能被外部来源编辑为恶意。我同意--example.com需要能够以与我只需键入google.com?q=相同的方式处理这一问题,谷歌需要处理它。我将更新我的问题,使输入来自查询字符串参数,而不是文本框,因为我认为这会将问题的性质更改为我实际想要的内容。感谢您的耐心:)@jakejgordon为什么这会改变问题的性质?@jakejgordon只要example.com没有漏洞,没有。如果这不是正确的答案,请随时提供更清楚的答案。我看到我的选票被否决了,但我正在尽我所能让我的问题和答案尽可能的对社区清晰。我不明白为什么这会被否决。它可能没有那么详细,但它是正确的。