我一直在经历这么多的论坛&维基百科的几天以来,试图了解XSS攻击alomost我花了2-3天,但仍然没有得到更好的主意,因为建议多专家解答&我想知道黑客如何在受害者浏览器上注入恶意代码?并且我的应用程序已经用于运行某些App Scanner标准测试工具,因此它捕获了很多XSS问题。我想在这里放一个我的应用程序的XSS问题,这样可以请一些人帮我理解我为这个问题究竟做了什么。尽管如此,为了更好地理解XSS问题,我一直在努力。这是我的代码片段跨站脚本问题与window.location.search
function getParameter(param) {
var val = "";
var qs = window.location.search;
var start = qs.indexOf(param);
if (start != -1) {
start += param.length + 1;
var end = qs.indexOf("&", start);
if (end == -1) {
end = qs.length
}
val = qs.substring(start,end);
}
return val;
}
var formName = getParameter("formName");
var myValue = '<a href="javascript:parent.opener.assignDateIps(new Date(\''+year+'\',\''+month+'\',\''+thisDay+'\'), \''+contextstr+'\', \''+formName+'\');window.close()" class="modulelink">'+thisDay+'</a></td>';
document.getElementById('calendarA').innerHTML = myValue;
而且这些陈述
var qs = window.location.search;
val = qs.substring(start,end);
var formName = getParameter("formName");
var myValue = '<a href="javascript:parent.opener.assignDateIps(new Date(\''+year+'\',\''+month+'\',\''+thisDay+'\'), \''+contextstr+'\', \''+formName+'\');window.close()" class="modulelink">'+thisDay+'</a></td>';
document.getElementById('calendarA').innerHTML = myValue;
通过应用扫描测试工具为XSS(跨站脚本)问题可能的代码毫无遗漏的,但我不能确定它是如何导致XSS &我现在可以如何解决这个问题。任何人都可以提供有关如何修复此漏洞的见解吗?
你如何使用formName变量? – Qwertiy
嗨Qwertiy,我刚刚加入这个应用程序刚刚加入了几天,直接从事XSS问题。作为开发人员,我可以说它是queryString参数名称并将此参数传递给getParameter()函数,并尝试使用window.location.search获取该参数的值。 – Venki
你如何使用提取值的afrer? – Qwertiy