简析——SQL注入
2015-08-16 16:20
344 查看
【什么是SQL注入】
所谓SQL注入,就是通过把SQL命令插入到Web表单提交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令。
【怎样做到的】
既然已经是执行恶意的SQL命令了,那么“犯罪分子”是怎样欺骗服务器的呢?它是利用现有应用程序,将(恶意)的SQL命令注入到后台数据库引擎执行的能力,它可以通过在Web表单中输入(恶意)SQL语句得到一个存在安全漏洞的网站上的数据库,而不是按照设计者意图去执行SQL语句。
当应用程序使用输入内容来构造动态sql语句以访问数据库时,通过构建特殊的输入作为参数传入Web应用程序,便会发生SQL注入攻击,而这些输入大都是SQL语法里的一些组合,通过执行SQL语句进而执行攻击者所要的操作。
【如何防范】
SQL注入的产生原因通常表现在以下几方面:①不当的类型处理;②不安全的数据库配置;③不合理的查询集处理;④不当的错误处理;⑤转义字符处理不合适;⑥多个提交处理不当。
那么怎样防范SQL注入呢?自己平常用的时候用过两种方法:一种是限制用户输入特殊字符,将有可能导致SQL注入攻击的特殊字符禁用,第二种便是通过参数传入SQL语句,进行增删改查。
【小结】
SQL注入不仅是我们要去了解的东西,要懂得它的原理,知道如何去防范,避免自己的数据库泄露,一个不会泄露用户个人信息的应用程序才是一个好程序。
SQL注入中涉及到的知识太多,这里只是简单的叙述一下,详情可见——SQL注入_百度百科
所谓SQL注入,就是通过把SQL命令插入到Web表单提交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令。
【怎样做到的】
既然已经是执行恶意的SQL命令了,那么“犯罪分子”是怎样欺骗服务器的呢?它是利用现有应用程序,将(恶意)的SQL命令注入到后台数据库引擎执行的能力,它可以通过在Web表单中输入(恶意)SQL语句得到一个存在安全漏洞的网站上的数据库,而不是按照设计者意图去执行SQL语句。
当应用程序使用输入内容来构造动态sql语句以访问数据库时,通过构建特殊的输入作为参数传入Web应用程序,便会发生SQL注入攻击,而这些输入大都是SQL语法里的一些组合,通过执行SQL语句进而执行攻击者所要的操作。
【如何防范】
SQL注入的产生原因通常表现在以下几方面:①不当的类型处理;②不安全的数据库配置;③不合理的查询集处理;④不当的错误处理;⑤转义字符处理不合适;⑥多个提交处理不当。
那么怎样防范SQL注入呢?自己平常用的时候用过两种方法:一种是限制用户输入特殊字符,将有可能导致SQL注入攻击的特殊字符禁用,第二种便是通过参数传入SQL语句,进行增删改查。
【小结】
SQL注入不仅是我们要去了解的东西,要懂得它的原理,知道如何去防范,避免自己的数据库泄露,一个不会泄露用户个人信息的应用程序才是一个好程序。
SQL注入中涉及到的知识太多,这里只是简单的叙述一下,详情可见——SQL注入_百度百科
相关文章推荐
- SQL数据库的分离附加,导出脚本,备份和还原
- oracle 安装问题解决办法大全
- 彻底删除mysql的方法(有隐藏文件)
- redis配置文件redis.conf详细说明
- mysql锁研究系列一(锁的基本概念)
- mysql安装版和解压版安装过程遇到1067的问题,和数据库乱码问题 解决办法
- redis sort命令用法
- 数据库基本概念
- MySQl表检查及修复
- Solr 5.2.1 与mysql 整合
- mysql 查看当前登陆用户匹配原则及权限user()与current_user()
- 内存数据库
- 转oracle lag()和lead()函数
- Note on <Beginning Microsoft SQL Server 2012 Programming> - 04
- Redis同步(主从复制)
- Redis学习——链表源码分析
- redis与mysql数据同步
- ubuntu安装redis
- sql执行顺序
- sqlite数据通用操作