`
enenxie
  • 浏览: 31759 次
社区版块
存档分类
最新评论

网页防注入式攻击

阅读更多

过滤器filter:

public class XSSProtectFilter
  implements Filter
{
  private static final Logger logger = Logger.getLogger(XSSProtectFilter.class);
  private static String[] safeless = new String[0];
  private static String xssAtackRedirectPath = "";
  
  public void doFilter(ServletRequest req, ServletResponse resp, FilterChain filterChain)
    throws IOException, ServletException
  {
    Enumeration params = req.getParameterNames();
    HttpServletRequest request = (HttpServletRequest)req;
    HttpServletResponse response = (HttpServletResponse)resp;
    
    boolean isSafe = true;
    String requestUrl = request.getRequestURI();
    if (isSafe(requestUrl)) {
      while (params.hasMoreElements())
      {
        String cache = req.getParameter((String)params.nextElement());
        if ((cache != null) && (!cache.isEmpty()) && 
          (!isSafe(cache)))
        {
          isSafe = false;
          break;
        }
      }
    } else {
      isSafe = false;
    }
    if (!isSafe)
    {
      logger.info("=========xss atack redirect path :" + 
        xssAtackRedirectPath);
      response.sendRedirect(request.getContextPath() + 
        xssAtackRedirectPath);
      return;
    }
    filterChain.doFilter(req, resp);
  }
  
  private static boolean isSafe(String str)
  {
    if ((str != null) && (!str.isEmpty())) {
      for (String s : safeless) {
        if (str.toLowerCase().contains(s))
        {
          logger.info("=========请求参数(" + str + ")包含非法参数:" + s);
          return false;
        }
      }
    }
    return true;
  }
  
  public void destroy() {}
  
  public void init(FilterConfig config)
    throws ServletException
  {
    String filterSymbols = config.getInitParameter("filterSymbols");
    if ((filterSymbols != null) && (filterSymbols.length() > 0)) {
      safeless = filterSymbols.split("\\|");
    }
    String errorPagePath = config
      .getInitParameter("xssAtackRedirectPageUrl");
    if ((errorPagePath != null) && (!errorPagePath.isEmpty())) {
      xssAtackRedirectPath = errorPagePath;
    }
  }
}

 web.xml配置

	<filter>
        <filter-name>XSSProtectFilter</filter-name>
        <filter-class>
            com.test.security.filter.XSSProtectFilter
        </filter-class>
        <init-param>
           <param-name>filterSymbols</param-name>
            <param-value>
                <![CDATA[;|'|"|\*|<|>|\"|#|alert|<script|</script|<iframe|</iframe|<frame|</frame|set-cookie|%3cscript|%3c/script
                            |%3ciframe|%3c/iframe|%3cframe|%3c/frame|src=\"javascript:|<body|</body|%3cbody|%3c/body|src|onload
                            |onmouseover|onblue|onkeydown|onchange|onclick|ondblclick|onmouseup|onmousemove|onkeypress
                            |onkeyup|onmove|onresize|onscroll|onstop|onfocus|onsubmit|||]]>
            </param-value>
        </init-param>
        <init-param>
            <param-name>xssAtackRedirectPath</param-name>
            <param-value>/</param-value>
        </init-param>
    </filter>
    <filter-mapping>
        <filter-name>XSSProtectFilter</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>

 

分享到:
评论

相关推荐

    ASP.NET中如何防范SQL注入式攻击

    ASP.NET中如何防范SQL注入式攻击 一、什么是SQL注入式攻击?  所谓SQL注入式攻击,就是攻击者把SQL命令插入到Web表单的输入域或页面请求的查询字符串,欺骗服务器执行恶意的SQL命令。在某些表单中,用户输入的...

    iGuard网页防篡改系统技术白皮书

    同时,iGuard的数据库防护模块也对用户输入的URL地址和提交的表单内容进行检查,任何对数据库的注入式攻击都能够被实时阻断。 iGuard以国家863项目技术为基础,全面保护网站的静态网页和动态网页,其安全性从根本上...

    网站安全狗IIS版 v4.0.18081.exe

    软件集网站内容安全防护、网站资源保护及网站流量保护功能为一体,功能涵盖网马/木马扫描、防SQL注入、防盗链、防黑链、防CC攻击、网站加速、危险组件防护、下载线程保护、IP黑白名单管理、实时流量监控、实时CPU...

    NetShop网店系统 v2.0 Beta

    3、安全的数据添加删除读取操作,利用存储过程模式彻底防制SQL注入式攻击 4、前台架构DIV+CSS兼容IE6,IE7,FF等,有利于搜索引挚收录 5、后台内置强大的功能,整合多家网店系统的功能,加以优化。 6、支持三种类型的...

    《暗战强人-黑客及反黑客工具快速精通》武新华[.PDF]

    在剖析用户进行黑客防御中迫切需要用到或想要用到的技术时,力求对其进行“傻瓜”式的讲解,使读者对网络防御技术形成系统了解,能够更好地防范黑客的攻击。全书共分为14章,包括:黑客文化漫谈、黑客入侵前的准备、...

    免费netshop网店系统,基于.NET平台开发

    3、安全的数据添加删除读取操作,利用存储过程模式彻底防制SQL注入式攻击 4、前台架构DIV+CSS兼容IE6,IE7,FF等,有利于搜索引挚收录 5、后台内置强大的功能,整合多家网店系统的功能,加以优化。 6、支持三种类型的...

    Bitdefender(比特梵德) v14.0.28.zip

    比特梵德检测并阻止试图改变计算机重要系统文件或注册表的行为,并对代码注入(DLL注入)攻击进行告警。 Bitdefender(比特梵德)与其他国外杀毒软件一样,有许多不同版本,如家庭版,企业版,商业版等,本页面为家庭...

    NetShop网店系统 v2.0

    3、安全的数据添加删除读取操作,利用存储过程模式彻底防制SQL注入式攻击 4、前台架构DIV+CSS兼容IE6,IE7,FF等,有利于搜索引挚收录 5、后台内置强大的功能,整合多家网店系统的功能,加以优化。 6、支持三种类型...

    xxdd商城系统asp access

    (4) SQL注入式攻击防范 (5) 禁止脱机浏览工具浏览 (6) 后台登陆采用验证码验证 (7) 会员密码采用MD5方式加密 (8) 防范未知IP访问及软件攻击 (9) 管理员密码采用MD5方式加密 (10) 过滤sql注入代码及...

    Huiboshop购物系统免费版

    (4) SQL注入式攻击防范 (5) 禁止脱机浏览工具浏览 (6) 后台登陆采用验证码验证 (7) 会员密码采用MD5方式加密 (8) 防范未知IP访问及软件攻击 (9) 管理员密码采用MD5方式加密 (10) 过滤sql注入代码及...

    大学校园网络店铺 V6.0

    安全缜密细微:全站过滤HTM代码,加强数据防下载和安全,以及防注入系统。 ============================= V6.0的改进 1.整站代码经过优化,比前一版本运行速度有明显提升。 2.全站...

    大学校园网络店铺V6.0

    安全缜密细微:全站过滤HTM代码,加强数据防下载和安全,以及防注入系统。 ============================= V6.0的改进 1.整站代码经过优化,比前一版本运行速度有明显提升。 2.全站...

    休闲旅游门户网站模板下载

    专业的过滤注入式入侵、严密高效的防护算法和监控程序构成站点严密的安全体系。 网软志成.NET旅游网站管理系统主机环境要求 Windows Server 2003(推荐)、Windows 2000、Windows XP Windows7 数据库 以下数据库任选...

    仿赶集网站模板.net分类信息管理系统下载

    专业的过滤注入式入侵、严密高效的防护算法和监控程序构成站点严密的安全体系。 强大而完善的功能 完善的多重无限分类,分站、分类栏目均可生成html页面、可选用的所见即所得编辑器、自定义信息发布字段、分站完全...

    PHP+TXT站点管理系统0.8版

    1\无需数据库支持,防注入与sql攻击. 2\数据以文件夹方式存储,无限分类,无限记录条数. 3\支持多语言,多模板,自定义变量,信息页自定义项. 4\支持伪地址,灵活定义地址参数. 5\运用国际流行的SMARTY技术,参数可调. 6\...

    分类信息系统正式版下载

    专业的过滤注入式入侵、严密高效的防护算法和监控程序构成站点严密的安全体系。 强大而完善的功能 完善的多重无限分类,分站、分类栏目均可生成html页面、可选用的所见即所得编辑器、自定义信息发布字段、分站完全...

    美发会员管理系统 绿色安全版

    防注入攻击. (4).传输安全:采用美国GeoTrust认证的SSL网络加密传输机制,使系统的数据传输与支付宝,银行网银系统达到同一个安全级别. (5).不断更新:定期修补漏洞补丁,防范于未然。 (6).系统服务器安全: A.服务器...

    网软志成分类信息网站系统.net官方商业版

    专业的过滤注入式入侵、严密高效的防护算法和监控程序构成站点严密的安全体系。 强大而完善的功能 完善的多重无限分类,分站、分类栏目均可生成html页面、可选用的所见即所得编辑器、自定义信息发布字段、分站完全...

Global site tag (gtag.js) - Google Analytics