跨站攻击防御拦截方案

Posted 星力量

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了跨站攻击防御拦截方案相关的知识,希望对你有一定的参考价值。

跨站攻击防御拦截方案

 一、跨站攻击简介

二、防御拦截方案

 


一、跨站攻击简介

跨站攻击,即Cross Site Script Execution(通常简写为XSS)是指攻击者利用网站程序对用户输入过滤不足,输入可以显示在页面上对其他用户造成影响的html代码,从而盗取用户资料、利用用户身份进行某种动作或者对访问者进行病毒侵害的一种攻击方式。

 

 

二、防御拦截方案

方案一:

前端对输入参数进行校验,<>等特殊字符不允许输入.

 

方案二:

后端对输入输出进行转义:

JSTL 标签库: <c:outvalue="$htmlStr"escapeXml="false"/>;

Struts 标签库: <s:propertyvalue=" htmlStr "escape="false"/>

代码(commons-lang:  StringEscapeUtils.escapeHtml("<script> htmlStr </script>");

 

方案三:

nginx上加入以下代码:

set$xss403 0;

if($query_string ~ "(<|<).*script.*(>|>)")

   set$xss403 1;

if($query_string ~ "href=")

   set$xss403 1;

if($xss403 =1)

   return403;

 

方案四:

web容器中写个Filter.

以上是关于跨站攻击防御拦截方案的主要内容,如果未能解决你的问题,请参考以下文章

SpringBoot 项目添加抵御跨站防御脚本(XSS)攻击功能

CSRF漏洞攻击原理及防御方案

XSS跨站脚本攻击详解(包括攻击方式和防御方式)

XSS跨站脚本攻击详解(包括攻击方式和防御方式)

XSS跨站脚本攻击详解(包括攻击方式和防御方式)

安全性测试入门 :CSRF 跨站请求伪造攻击和防御