当前位置:   article > 正文

esapl入门及预防xss,sql注入漏洞_引入esapi防止xss攻击所需要的jar包

引入esapi防止xss攻击所需要的jar包

1.esapl解決过滤特殊字符,以及sql盲注问题(现阶段已知,不足之处请多指教)

针对web+spring+hibernate 老项目:
maven仓库的可以参考这个:https://blog.csdn.net/CHS007chs/article/details/86645450
配置文件:(放在工程目录下,放在本地虽然可以运行,但不可以部署项目,识别不到说明位置不对,重新放配置文件位置)
ESAPI.properties;
validation.properties;
例如:
https://mp.csdn.net).
个人方案:当时尝试把esapl文件夹去掉,直接找配置文件就可以找到!
.jar包放到lib下:
esapi-2.1.0.jar
esapi.tld(本项目放在了lib外面);
在这里插入图片描述

使用:
(1.)针对xss漏洞(过滤特殊字符原理)
//对用户输入“input”进行HTML编码,防止XSS
input = ESAPI.encoder().encodeForHTML(input);
//根据自己不同的需要可以选用以下方法
//input = ESAPI.encoder().encodeForHTMLAttribute(input);
//input = ESAPI.encoder().encodeForJavaScript(input);
//input = ESAPI.encoder().encodeForCSS(input);
//input = ESAPI.encoder().encodeForURL(input);



(2.)针对sql注入漏洞(除了支持mysql还支持oracle)

//解决注入问题(mysql的没有试过)

String input1="用户输入1";
String input2="用户输入2";

mysql:
input1 = ESAPI.encoder().encodeForSQL(new MySQLCodec(MySQLCodec.Mode.STANDARD),input1);
input2 = ESAPI.encoder().encodeForSQL(new MySQLCodec(MySQLCodec.Mode.STANDARD),input2);

Oracle:
Codec ORACLE_CODEC = new OracleCodec();
input1 =  ESAPI.encoder().encodeForSQL(ORACLE_CODEC,input1);

String sqlStr="select name from tableA where id="+input1 +"and date_created ='" + input2+"'"
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Gausst松鼠会/article/detail/150551
推荐阅读
相关标签
  

闽ICP备14008679号