import javax.servlet.http.HttpServletRequest; /** * 防SQL注入工具类 * 把SQL关键字替换为空字符串 * @author zhao * @since 2015.7.23 */ public class AntiSqlInjection { public final static String regex = "'|%|--|and|or|not|use|insert|delete|update|select|count|group|union" + "|create|drop|truncate|alter|grant|execute|exec|xp_cmdshell|call|declare|source|sql"; /** * 把SQL关键字替换为空字符串 * @param param * @return */ public static String filter(String param){ if(param == null){ return param; } return param.replaceAll("(?i)"+regex, ""); //(?i)不区分大小写替换 } /** * 返回经过防注入处理的字符串 * @param request * @param name * @return */ public static String getParameter(HttpServletRequest request, String name){ return AntiSqlInjection.filter(request.getParameter(name)); } public static void main(String[] args) { //System.out.println(StringEscapeUtils.escapeSql("1' or '1' = '1; drop table test")); //1'' or ''1'' = ''1; drop table test String str = "sElect * from test where id = 1 And name != 'sql' "; String outStr = ""; for(int i=0; i<1000; i++){ outStr = AntiSqlInjection.filter(str); } System.out.println(outStr); } }
参考:
java类过滤器,防止页面SQL注入
http://www.oschina.net/code/snippet_811941_14131
Java防止SQL注入的几个途径
http://helloklzs.iteye.com/blog/1329578
相关推荐
外网可能会被攻击,简单的处理可以避免! 外网可能会被攻击,简单的处理可以避免! 外网可能会被攻击,简单的处理可以避免! 外网可能会被攻击,简单的处理可以避免!...外网可能会被攻击,简单的处理可以避免!...
动态拼接sql语句工具类,拼接where后面语句 配合原生jdbc仿动态sql注入 if (ObjectUtil.isNotEmpty(maxLat)&&ObjectUtil.isNotEmpty(minLat)){ sqlParamList.add(new SqlParam("lat",minLat, SqlOpEnum.GE)); ...
一个SQL注入漏洞检测原型工具,由SQL注入动态检测工具,SQL漏洞静态代码检测工具,测试用的网站3部分组成。用Java语言实现。运行时需eclipse等IDE支持。可供学习参考。
基于ESAPI的防sql注入jar包及使用示例 esapi-2.1.0.1.jar包 两个properties文件 一个java工具类 一个说明文档
这是自己开发的一个参数校验的工具类,可用于对实例的属性进行非空校验。包括全部校验和任一校验两种校验方式。 举例:CheckParamsUtils.checkParamsAll(requestBean, "name", "age","gender");
- QrcodeUtils.java\防止SQL注入和XSS攻击Filter\获取文件绝对路径最后的文件夹名称\加密工具类 - CryptoUtils.java\日期工具类 - DateUtil.java\图片处理工具类 - ImageUtils.java\文件相关操作工具类——FileUtils...
利用JDBC工具类的方式实现mysql数据库的连接并且完成登录相关功能,并且通过PreparedStatement类实现防sql注入
源文件 博文链接:https://joerong666.iteye.com/blog/219047
Java SQL检查器 用于测试Java代码是否存在SQL注入漏洞的实用程序。
java类型转换,字符串截取工具类,sql注入过滤工具类,基本类型转换可以设置异常时的默认值,字符串截取指定位置,长度,sql注入过滤
JDBC(powernode CD2206)详尽版 (教学视频、源代码、SQL文件) ...八、编写JDBC工具类 九、CRUD操作 十、事务操作 十一、批处理 11.1 jdbc.properties 11.2 BatchDemo.java 11.3 没有进行批处理的耗时
lang中有一个很有用的处理字符串的工具类,其中之一就是StringEscapeUtils,这个工具类是在2.3版本以上加上的去的,利用它能很方便的进行html,xml,java等的转义与反转义,而且还能对关键字符串进行处理预防SQL注入,...
String 字符串操作工具类,sql防注入方法 过滤通过页面表单提交的字符 用特殊的字符连接字符串 将字符串数组转换为逗号链接的字符串,并且去掉最后一个逗号 分割字符串 字符串字符集转换 编码转换方法 将html文档...
从 Java 1.4 开始,Java 核心 API 就引入了 java.util.regex 程序包,这是一个非常有价值的基础工具,能够用于许多类型的文本处理,如匹配、搜索、提取和分析结构化内容。 java.util.regex 程序包包括两个类:...
1. 这个曾经是安全领域涉及到SQL注入破解屏蔽字符串的方法之一,但是现在已经很少用了 2. 这曾经是入侵大型网站(特别是交易类网站的)的黑客钓鱼时隐藏实际URL的工具. 在09年之前的很流行的搜索框漏洞就可以利用框架...
Java二进制IO类与文件复制操作实例,好像是一本书的例子,源代码有的是独立运行的,与同目录下的其它代码文件互不联系,这些代码面向初级、中级Java程序员。 Java访问权限控制源代码 1个目标文件 摘要:Java源码,...
Java二进制IO类与文件复制操作实例,好像是一本书的例子,源代码有的是独立运行的,与同目录下的其它代码文件互不联系,这些代码面向初级、中级Java程序员。 Java访问权限控制源代码 1个目标文件 摘要:Java源码,...
PortGroper 是一款java写的开源拒绝服务测试工具,它不是僵尸网络类的ddos,而是使用大量的代理作为bots发起DDOS。Port Groper可以与用测试防火墙,干扰web 统计脚本的跟踪,为网站增加流量..往好了用什么都能干,就是...
PortGroper 是一款java写的开源拒绝服务测试工具,它不是僵尸网络类的ddos,而是使用大量的代理作为bots发起DDOS。Port Groper可以与用测试防火墙,干扰web 统计脚本的跟踪,为网站增加流量..往好了用什么都能干,就是...
PortGroper 是一款java写的开源拒绝服务测试工具,它不是僵尸网络类的ddos,而是使用大量的代理作为bots发起DDOS。Port Groper可以与用测试防火墙,干扰web 统计脚本的跟踪,为网站增加流量..往好了用什么都能干,就是...