SQL注入攻击

原创 2015年11月19日 00:12:41


1、通过JDBC方式操作时,要通过setString()的方式传人条件。

错误的做法:

  1. PreparedStatement ps = conn.prepareStatement("select * from some_table where name=" + name);  
  2. ResultSet rs = ps.executeQuery();  
正确的做法:

  1. PreparedStatement ps = conn.prepareStatement("select * from some_table where name=?");  
  2. ps.setString(1, name);  
  3. ResultSet rs = ps.executeQuery();  
2、如果一定要用拼接的方式的话。

Nutz提供了org.nutz.dao.Sqls.escapeFieldValue方法来进行处理,过滤掉可能的注入威胁。

  1. Statment st = conn.createStatement();  
  2. ResultSet rs = st.executeQuery("select * from some_table where name=" + Sqls.escapeFieldValue(name));  
1、通过JDBC方式操作时,要通过setString()的方式传人条件。

错误的做法:




[sql] view plaincopy
01.PreparedStatement ps = conn.prepareStatement("select * from some_table where name=" + name);
02.ResultSet rs = ps.executeQuery();

正确的做法:




[sql] view plaincopy
01.PreparedStatement ps = conn.prepareStatement("select * from some_table where name=?");
02.ps.setString(1, name);
03.ResultSet rs = ps.executeQuery();

2、如果一定要用拼接的方式的话。

Nutz提供了org.nutz.dao.Sqls.escapeFieldValue方法来进行处理,过滤掉可能的注入威胁。




[sql] view plaincopy
01.Statment st = conn.createStatement();
02.ResultSet rs = st.executeQuery("select * from some_table where name=" + Sqls.escapeFieldValue(name));



版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

SQL注入攻击与防护措施研究

  • 2014年12月24日 11:55
  • 276KB
  • 下载

Hibernate防止SQL注入攻击的方法

如果在查询字段中输入单引号"'",则会报错,这是因为输入的单引号和其他的sql组合在一起编程了一个新的sql,实际上这就是SQL注入漏洞,后来我在前台和后台都对输入的字符进行了判断。   永远也不...
  • oathevil
  • oathevil
  • 2012年02月02日 15:27
  • 20852

SQL注入攻击防御方法研究.kdh

  • 2013年02月25日 16:31
  • 1.92MB
  • 下载

使用SQLMAP对网站和数据库进行SQL注入攻击

from:http://www.blackmoreops.com/2014/05/07/use-sqlmap-sql-injection-hack-website-database/ 0x00 ...

SQL注入及XSS攻击防御技术白皮书

  • 2017年06月12日 08:51
  • 353KB
  • 下载

防止xss攻击与sql注入

XSS xss表示Cross Site Scripting(跨站脚本攻击),它与SQL注入攻击类似,SQL注入攻击中以SQL语句作为用户输入,从而达到查询/修改/删除数据的目的,而在xss攻击中...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:SQL注入攻击
举报原因:
原因补充:

(最多只允许输入30个字)