防止Javascript中潜在的客户端代码注入
我已经在gae中用java创建了一个应用程序,并对checkmarx运行它以检查安全漏洞,它在标题下抛出错误-客户端潜在代码注入。它在以下行显示错误:防止Javascript中潜在的客户端代码注入,javascript,xss,javascript-security,checkmarx,Javascript,Xss,Javascript Security,Checkmarx,我已经在gae中用java创建了一个应用程序,并对checkmarx运行它以检查安全漏洞,它在标题下抛出错误-客户端潜在代码注入。它在以下行显示错误: var email = $(this).text(); 下面是我的代码片段,我不知道为什么在使用前转义电子邮件时它仍然抛出错误: $("#user-modal .user-list li").click(function() { $("#user-modal").hide(); var email = $(this).text();
var email = $(this).text();
下面是我的代码片段,我不知道为什么在使用前转义电子邮件时它仍然抛出错误:
$("#user-modal .user-list li").click(function() {
$("#user-modal").hide();
var email = $(this).text();
var escapedEmail = escapeHtml(email);
$("input#user").val(escapedEmail);
loadAllData(email);
});
下面是loadAllData方法使用传递的电子邮件值执行的操作:
function loadAllData(email) {
$("#user-modal").modal('hide');
userEmail = email;
userParam = "";
if (userEmail) {
userParam = "?userEmail=" + userEmail;
}
requestGroups("");
requestAdminRoles("");
requestOrganizationalUnits("");
// Search
$("button.refresh-ou").bind("click", function(){
var searchString = "/" + $("input.search-ou").val();
requestOrganizationalUnits(searchString);
});
$("button.refresh-role").bind("click", function() {
var searchString = "/" + $("input.search-role").val();
requestAdminRoles(searchString);
});
$("button.refresh-group").bind("click", function() {
var searchString = "/" + $("input.search-group").val();
requestGroups(searchString);
});
}
有人能帮忙吗?
text()
和val()
不处理HTML,不应该转义。我想部分原因是var email=$(this).text()
是用户生成的内容,其中可能包含HTML代码,因此它完全取决于对该内容所做的操作是否安全。您没有显示正在使用loadAllData(电子邮件)
执行的操作,以了解其中是否存在漏洞。loadAllData()
除了将userEmail
和userParam
填充到globalsuserEmail
和userParam
中之外,不会显示对email
值的任何处理。因此,如果userEmail
或userParam
在某处被使用,那么您必须披露它是如何被使用的。您怀疑这一问题的根本原因是什么?我应该找什么?要粘贴到这里的代码很长。