今天系统出了一个漏洞,XSS(跨站脚本攻击),系统中的表单提交时填写特殊字符,会报错,影响系统的稳定性。
漏洞描述:
在一个表单文本框中写”> 提交表单时,会把文本中的字符当做script 代码解析出来。这个漏洞可用于钓鱼攻击或者窃取用户cookie。从而登录他人账户。所以要对用户输入的信息进行校验,如果输入非法字符,要对其进行过滤或者提醒。下面是一段代码,用正则表达式来过滤敏感字符
s = $("#problemKey").val();
var pattern = new RegExp("[`~!@#$^&*()=|{}':;',\\[\\].<>~!@#¥……&*()——|{}【】‘;:”“'。,、?]");
var rs = "";
for (var i = 0; i < s.length; i++) {
rs = rs+s.substr(i, 1).replace(pattern, '');
}
return rs;