Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ionic-framework/2.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 HP加固问题,可能的XSS漏洞?_Javascript_Jquery_Html_Security_Xss - Fatal编程技术网

Javascript HP加固问题,可能的XSS漏洞?

Javascript HP加固问题,可能的XSS漏洞?,javascript,jquery,html,security,xss,Javascript,Jquery,Html,Security,Xss,我正试图了解风险强化在这里看到了什么。我是XSS工作的新手,我想在我决定这不是一个真正的问题之前确定一下。我看不出一个人除了把自己的电脑弄乱之外,还能用这些代码做什么,所以我很好奇我是否遗漏了什么 这是原文 Fortify表示分配window.location.href的行就是漏洞。发送到浏览器的“未验证”数据 <c:if test="${isExternalUser}"> <script type="text/javascript">

我正试图了解风险强化在这里看到了什么。我是XSS工作的新手,我想在我决定这不是一个真正的问题之前确定一下。我看不出一个人除了把自己的电脑弄乱之外,还能用这些代码做什么,所以我很好奇我是否遗漏了什么

这是原文 Fortify表示分配
window.location.href
的行就是漏洞。发送到浏览器的“未验证”数据

    <c:if test="${isExternalUser}">
        <script type="text/javascript">
            $(function(){
                $('#logoutLink').on('click', function(){
                    var logoutUrl = window.appSettings.context + '/external/logout/';
                    $.get(logoutUrl).done(function(){
                        window.location.href = window.location.protocol + "//" + window.location.host + window.appSettings.context + "/?${ssw:encodeJS(header['policy-signout'])}";                 
                    });
                });
            });
        </script>
    </c:if>

$(函数(){
$('logoutLink')。在('click',function()上{
var logoutUrl=window.appSettings.context+'/external/logout/';
$.get(logoutUrl).done(函数(){
window.location.href=window.location.protocol+“/”+window.location.host+window.appSettings.context+“/?${ssw:encodeJS(header['policy-signout'])}”;
});
});
});

据我所知,这里没有风险。

我看不出有任何风险

浏览器外部唯一未验证的数据是

${ssw:encodeJS(header['policy-signout'])}
这是正确的JS编码。也许Fortify没有意识到这一点

您可以尝试拆分该行(作为测试),以确保未识别为执行JS编码的是
encodejs

var policySignout = "${ssw:encodeJS(header['policy-signout'])}";

window.location.href = window.location.protocol + "//" + window.location.host + window.appSettings.context + "/?" + policySignout;

谢谢,据我所知,Fortify在这里完全是错误的(和其他很多时候一样)谢谢你验证concernI也是Fortify的新手,但Fortify抱怨的原因显然是使用了window.location.protocol,这是可以伪造的(不要问我如何和何时)