sql注入的一些整理
2015-08-11 09:40
267 查看
sql注入:通过把SQL命令插入到Web表单提交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令。
sql注入的防护:
1.永远不要信任用户的输入。对用户的输入进行校验,可以通过正则表达式,或限制长度;对单引号和
双"-"进行转换等。
2.永远不要使用动态拼装sql,可以使用参数化的sql或者直接使用存储过程进行数据查询存取。
3.永远不要使用管理员权限的数据库连接,为每个应用使用单独的权限有限的数据库连接。
4.不要把机密信息直接存放,加密或者hash掉密码和敏感的信息。
5.应用的异常信息应该给出尽可能少的提示,最好使用自定义的错误信息对原始错误信息进行包装
6.sql注入的检测方法一般采取辅助软件或网站平台来检测,软件一般采用sql注入检测工具jsky,网站平台就有亿思网站安全平台检测工具。MDCSOFT
SCAN等。采用MDCSOFT-IPS可以有效的防御SQL注入,XSS攻击等。
参考资料
http://baike.baidu.com/link?url=U_6VOGqqAwO0I6wqVWfijRCWC_8qlTn-YQGnDa7O9QJ7DCvw9x2kJ-mn08FUPrzEL_lBugehWlNWoOSM__6RQ_
攻击
当应用程序使用输入内容来构造动态sql语句以访问数据库时,会发生sql注入攻击。如果代码使用存储过程,而这些存储过程作为包含未筛选的用户输入的字符串来传递,也会发生sql注入。sql注入可能导致攻击者使用应用程序登陆在数据库中执行命令。相关的SQL注入可以通过测试工具pangolin进行。如果应用程序使用特权过高的帐户连接到数据库,这种问题会变得很严重。在某些表单中,用户输入的内容直接用来构造动态sql命令,或者作为存储过程的输入参数,这些表单特别容易受到sql注入的攻击。而许多网站程序在编写时,没有对用户输入的合法性进行判断或者程序中本身的变量处理不当,使应用程序存在安全隐患。这样,用户就可以提交一段数据库查询的代码,根据程序返回的结果,获得一些敏感的信息或者控制整个服务器,于是sql注入就发生了。sql注入的防护:
1.永远不要信任用户的输入。对用户的输入进行校验,可以通过正则表达式,或限制长度;对单引号和
双"-"进行转换等。
2.永远不要使用动态拼装sql,可以使用参数化的sql或者直接使用存储过程进行数据查询存取。
3.永远不要使用管理员权限的数据库连接,为每个应用使用单独的权限有限的数据库连接。
4.不要把机密信息直接存放,加密或者hash掉密码和敏感的信息。
5.应用的异常信息应该给出尽可能少的提示,最好使用自定义的错误信息对原始错误信息进行包装
6.sql注入的检测方法一般采取辅助软件或网站平台来检测,软件一般采用sql注入检测工具jsky,网站平台就有亿思网站安全平台检测工具。MDCSOFT
SCAN等。采用MDCSOFT-IPS可以有效的防御SQL注入,XSS攻击等。
参考资料
http://baike.baidu.com/link?url=U_6VOGqqAwO0I6wqVWfijRCWC_8qlTn-YQGnDa7O9QJ7DCvw9x2kJ-mn08FUPrzEL_lBugehWlNWoOSM__6RQ_
相关文章推荐
- 改变mysql表中某个字段的数据类型
- SQL技巧之分组求和
- Oracle修改默认字符编码
- 深入解析Oracle学习笔记(第四章)
- 数据库分页查询
- MySQL日期数据类型、时间类型使用总结
- 安装ndoutils 提示“MySQL library could not be located”错误!
- 超强、超详细Redis数据库入门教程
- MySQL5.6 新特性之GTID
- Oracle查询数据库中所有表的记录数
- ORACLE FORMS Builder 设置栏位背景颜色
- SQL Server 2005/2008备份数据库时提示“无法打开备份设备”
- mysql和oracle的一个汉字占几个字符
- Xampp中mysql错误
- oracle 常见名词及辨析
- 多台redis部署及同步
- 【Oracle】PL/SQL实现打印1-100中的素数
- mysql 的安装和配置
- SQL Serve里你总要去改变的3个配置选项
- sql生成器--生成含注释的sql语句