禁止任何形式的违法内容,如发现将强制停止其使用权,并提交至有关部门进行处理。
  • 首 页
  • 当前位置:首页 » 帮助中心 » JSP网站如何防范SQL注入攻击

    JSP网站如何防范SQL注入攻击

    SQL注入是目前很流行的一种攻击方式,可以达到多方面的破坏,对于JSP网站,如果疏忽,一样存在该问题:

            1、获取网站管理员密码,然后进行登陆后台破坏的目的;

            2、也可以获取整个数据库中的数据,造成数据泄漏;

            3、也可以删除修改数据库数据,造成严重后果;

            4、注入危险数据,发送命令,挂马,提权,入侵整个服务器等。

     

        和ASP等防范注入的方法类似,以下对JSP网站如何防范SQL注入攻击,做一下简单的说明。

     

      1、SQL注入攻击的总体思路:

          1、发现可以进行SQL注入的点,一般是带参数的动态网页,如:http://www.aabbcc.com/aa.jsp?pid=12345

            2、找到注入点后,直接在浏览器输入测试数据,判断是否具有该漏洞;

            3、如果存在漏洞,则继续注入判断数据库类型等信息;

            3、接下来,采用工具进行注入,方便快捷,如:阿D注入工具。

     

        关于注入攻击的方法,网上已经有很多资料,笔者在此不再重复,入侵者也可以用第三方工具进行注入,这是非常容易的,并且功能很强大。

     

        以下重点讲解JSP网页的SQL注入防范措施:

            1、凡涉及到执行的SQL中有变量时,用JDBC(或者其他数据持久层)提供的如:PreparedStatement 代替 Statement 就可以,切记不要用拼接字符串的方法就可以了;

            2、组织一个文件,在每个需要链接数据库的页面调用,专门获取通过GET/POST/COOKIES传递过来的数据,一般采用正则表达式或自己定义的过滤规则。

            3、其他方法有很多,不外乎对接收到的字符串过滤,同2。

     

        定义过滤规则:

            1、写一个通用文件,如 sql_inj.jsp;

            2、在这个jsp文件中,获取Get/Post/Cookies 传递过来的数据,将这些数据,交给过滤关键词的函数处理;

            3、编写这个过滤关键词的函数,如果碰到SQL敏感词,如|and|exec|insert|select|delete|update|count|*|%|'|chr|mid|master|truncate|char|declare|;|or|-|  等等,如果含有,则返回错误,提示错误信息,程序禁止往下执行;

            4、这种方式可能会造成一定副作用,比如某些网站确实传递了危险字符,或者用户提交的数据中含有这些字符,则会被拦截,这是不友好的;

            5、这种方式操作简单有效,至于规则,用户可以自行定义,一般可以设置一些白名单、词语组合、IP黑名单之类就能解决问题。

     

    阅读次数: 3876      发布日期:2013-11-1      【关闭窗口
    综合业务
    业务咨询
     320005869  320005868  537076877
     320005874  320005878  320005871
     537076875  76015525  537077365
     860803591  537076876  320005876
    因版面限制,以上为部分售前客服专员,点击 查看更多
    业务相关,请咨询售前客服专员。
    售后支持
     9678710  79666106
    售后以及技术性相关问题,请咨询售后技术。
    投诉/合作
    杨经理:  860910552
    赵经理:  77169016
    处理:投诉、意见建议。
    赵经理:  77169016
    处理:大客户,渠道合作,商务合作。