JSP网站如何防范SQL注入攻击
来源:互联网 发布:appletv4怎么安装软件 编辑:程序博客网 时间:2024/06/05 01:18
转载于:http://jingyan.baidu.com/article/5225f26b187d62e6fa0908f3.html
SQL注入是目前很流行的一种攻击方式,可以达到多方面的破坏,对于JSP网站,如果疏忽,一样存在该问题:
(1) 获取网站管理员密码,然后进行登陆后台破坏的目的;
(2) 也可以获取整个数据库中的数据,造成数据泄漏;
(3) 也可以删除修改数据库数据,造成严重后果;
(4) 注入危险数据,发送命令,挂马,提权,入侵整个服务器等。
SQL注入攻击的总体思路:
(1) 发现可以进行SQL注入的点,一般是带参数的动态网页,如:http://www.aabbcc.com/aa.jsp?pid=12345
(2) 找到注入点后,直接在浏览器输入测试数据,判断是否具有该漏洞。
(3) 如果存在漏洞,则继续注入判断数据库类型等信息。
(4) 接下来,采用工具进行注入,方便快捷,如:阿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黑名单之类就能解决问题。
- JSP网站如何防范SQL注入攻击
- JSP如何防范SQL注入攻击
- JSP如何防范SQL注入攻击
- JSP如何防范SQL注入攻击
- JSP如何防范SQL注入攻击
- JSP如何防范SQL注入攻击
- JSP如何防范SQL注入攻击
- JSP如何防范SQL注入攻击
- jsp如何防范sql注入攻击
- JSP如何防范SQL注入攻击
- JSP如何防范SQL注入攻击
- 如何防范SQL注入攻击
- (转)JSP如何防范SQL注入攻击
- PHP代码网站如何防范SQL注入漏洞攻击建议
- PHP代码网站如何防范SQL注入漏洞攻击建议
- ASP.NET如何防范SQL注入攻击
- 什么是SQL注入式攻击 如何防范
- 防范SQL注入攻击
- CentOS6.4下安装MySQL5.6.10后root无法登陆MySQL
- 关于AlarmManager的问题
- poj 2104 K-th number (模板级划分树)
- 生成scott中表内容的sql代码
- iOS开发异常错误总结之——wait_fences: failed to receive reply: 10004003
- JSP网站如何防范SQL注入攻击
- hdu 1816,poj 2723 (2—SAT)
- SEO时关键词应该怎么选
- Geoserver 和 Openlayers 学习笔记
- oracle mysql 数据库字段自增长
- 将VMware station上的windows操作系统虚拟机迁移到KVM上
- ubunt入门(最基础的)
- 购买电脑,选择Windows8预装,很超值
- WCF4 Rest Service及Entity Framework with POCO之旅