SQL注入漏洞过程实例及解决方案
主要介绍了SQL注入漏洞过程实例及解决方案,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
代码示例:
public class JDBCDemo3 {
public static void demo3_1(){
boolean flag=login(“aaa’ OR ’ “,“1651561”); //若已知用户名,用这种方式便可不用知道密码就可登陆成功
if (flag){ System.out.println(“登陆成功”);
}else{ System.out.println(“登陆失败”);
}
}
public static boolean login(String username,String password){ Connection conn=null; Statement stat=null; ResultSet rs=null;
boolean flag=false;
try {
conn=JDBCUtils.getConnection(); String sql=“SELECt * FROM user WHERe username=’”+username+”‘AND password=’”+password+"’"; //此处是SQL注入漏洞的关键,因为是字符串的拼接,会使查询语句变为:SELECt * FROM user WHERe username=‘aaa’ OR ‘’ AND password=‘1651561’,此查询语句是可得到结果集的,便出现此漏洞
stat=conn.createStatement();
rs=stat.executeQuery(sql);



