XSS介绍:
XSS攻击是Web攻击中最常见的攻击方法之一,它是通过对网页注入可执行代码且成功地被浏览器执行,达到攻击的目的,形成了一次有效XSS攻击,一旦攻击成功,它可以获取用户的联系人列表,然后向联系人发送虚假信息,可以删除用户的日志等等,有时候还和其他攻击方式同时实施比如SQL注入攻击服务器和数据库、Click劫持、相对链接劫持等实施钓鱼,它带来的危害是巨大的,是web安全的头号大敌。
举个例子,在文章评论框中输入
<img src="1" onerror="alert('from xss')">
如果没有进行任何转义
打开页面就会提示alert
转义之后,内容就能正常显示,下面是两条评论,其中一条已转义,一条未转义
如果没有处理xss攻击,黑客就可以通过一些语句获取cookie的语句,从而获取到用户的数据
解决办法:
我们在后台对文章评论内容进行转义
/**
* 清除xss攻击的转义方法
*
* @param value 字符串
*/
public static String cleanXSS(String value) {
value = value.replaceAll("<", "<").replaceAll(">", ">");
value = value.replaceAll("\\(", "(").replaceAll("\\)", ")");
value = value.replaceAll("'", "'");
value = value.replaceAll("eval\\((.*)\\)", "");
value = value.replaceAll("[\\\"\\\'][\\s]*javascript:(.*)[\\\"\\\']", "\"\"");
value = value.replaceAll("script", "");
return value;
}
下面是数据库中存储的转义后和转义前的内容
欢迎转载,转载请注明出处 http://www.dingyinwu.com/article/68.html
如果文章中有任何问题或者可以改进的地方,请大家多提提意见,我会非常感激。