搜索
您的当前位置:首页正文

关于JSP防范SQL注入攻击

来源:爱够旅游网
 SQL注⼊攻击的总体思路:  发现SQL注⼊位置;

  判断服务器类型和后台数据库类型;  确定可执⾏情况

  对于有些攻击者⽽⾔,⼀般会采取sql注⼊法。下⾯我也谈⼀下⾃⼰关于sql注⼊法的感悟。  注⼊法:

  从理论上说,认证页中会有型如:

  select * from admin where username=’XXX’ and password=’YYY’ 的语句,若在正式运⾏此句之前,如果没有进⾏必要的字符过滤,则很容易实施SQL注⼊。

  如在⽤户名⽂本框内输⼊:abc’ or 1=1-- 在密码框内输⼊:123 则SQL语句变成:

  select * from admin where username=’abc’ or 1=1 and password=’123’ 不管⽤户输⼊任何⽤户名与密码,此语句永远都能正确执⾏,⽤户轻易骗过系统,获取合法⾝份。  猜解法:

  基本思路是:猜解所有数据库名称,猜出库中的每张表名,分析可能是存放⽤户名与密码的表名,猜出表中的每个字段名,猜出表中的每跫锹寄谌荨?BR>  还有⼀种⽅式可以获得你的数据库名和每张表的名。  就是通过在形如:http://www. .cn/news?id=10’的⽅式来通过报错获得你的数据库名和表名!  对于jsp⽽⾔我们⼀般采取⼀下策略来应对:  1、PreparedStatement

  如果你已经是稍有⽔平开发者,你就应该始终以PreparedStatement代替Statement.  以下是⼏点原因

  1、代码的可读性和可维护性.

  2、PreparedStatement尽可能提⾼性能.  3、最重要的⼀点是极⼤地提⾼了安全性.

因篇幅问题不能全部显示,请点此查看更多更全内容

Top