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

ESAPI For JAVA安全组件

阅读更多

ESAPI是一个免费、开源的Web应用程序安全控制组件,在JavaWeb应用中可帮助开发人员降低应用的风险。 ESAPI是OWASP组织的一个开源项目

    主页是: http://www.owasp.org/index.php/ESAPI
    介 绍 :http://owasp-esapi-java.googlecode.com/files/OWASP%20ESAPI.ppt
    下载地址是:https://code.google.com/p/owasp-esapi-java/downloads/list

ESAPI很适合一个新的开发项目的安全组件,各版本的ESAPI包含如下基本设计:

   1.具有一个安全接口集;
   2.对每一种安全控制有一种参考实现;
   3.对每一种安全控制可以有你自己的实现方法。

很多著名的大公司开始将ESAPI作为自己保障Web应用程序安全的手段,包括美国运通公司,Apache基金会,世界银行等。

ESAPI对常见安全漏洞都提供对应的安全控制实现方法: ESAPI使用示例: 使用ESAPI防止XSS的做法: String safe = ESAPI.encoder().encodeForHTML( request.getParameter( "input" ) ); 对用户输入“input”进行HTML编码,防止XSS。

System.out.println(ESAPI.encoder().encodeForHTML("<a href='sdfs'></a> < script > alert(); </ script >" ));

输出的结果

 &lt;a href&#x3d;&#x27;sdfs&#x27;&gt;&lt;&#x2f;a&gt; &lt; script &gt; alert&#x28;&#x29;&#x3b; &lt;&#x2f; script &gt;

使用ESAPI防止ORACLE数据库SQL注入的做法:   

String sqlStr=“select name from tableA where id=”+
  ESAPI.encoder().encodeForSQL(ORACLE_CODEC,validatedUserId)
  +“and date_created”='“
  + ESAPI.encoder()。encodeForSQL(ORACLE_CODEC,validatedStartDate)+"'";
  myStmt = conn.createStatement(sqlStr);

补充: XSS又叫CSS (Cross Site Script) ,跨站脚本攻击。它指的是恶意攻击者往Web页面里插入恶意html代码,当用户浏览该页之时,嵌入其中Web里面的html代码会被执行,从而达到恶意攻击用户的特殊目的。

 
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics