mysql数据库一直以来都遭受到sql注入攻击的影响,很多网站,包括目前的PC端以及手机端都在使用php+mysql数据库这种架构,大多数网站受到的攻击都是与sql注入攻击有关,那么mysql数据库如何防止sql注入呢?下面我们SINE安全技术针对于这个sql注入问题总结3种方案去防止sql注入攻击。

sql注入产生的原因很简单,就是访问用户通过网站前端对网站可以输入参数的地方进行提交参数,参数里插入了一些恶意参数传入到服务器后端里去,服务器后端并没有对其进行详细的安全过滤,导致直接进入到数据库里,执行了数据库的sql语句,sql语句可以是查询网站的管理员账号,密码,查询数据库的地址等等的敏感信息,这个就是sql注入攻击。

我们来看下这个网站的代码编写,我们来利用下该如何sql注入攻击:

web前端网站通过get_id这个值获取了访问用户输入的参数值,并传递给ID这个值上去,ID这个值没有对输入的参数进行安全过滤,导致该值里的恶意参数传递到服务器后端去,紧接着又送到了数据库,进行了数据库的sql语句执行。一般都是参数拼接而成的sql语句,当用户提交一些逗号之类的and 1=1等等的字符时就会执行sql语句。

目前我们SINE安全了解到的sql注入漏洞分5种,第一个就是数据库联合查询注入攻击,第二种就是数据库报错查询注入攻击,第三种就是字符型数据库注入攻击,第四种是数据库盲注sql注入攻击,第五种是字符型注入攻击。我们来简单的介绍下着几种攻击的特征以及利用方式,才能更好的了解sql注入,了解后才能更好的去防止sql注入攻击。

mysql 联合查询数据库注入攻击是采用的union语句,以及使用select语句进行的查询,去除一些查询语句的重复行进行sql注入的攻击。数据库报错查询注入攻击是采用的数据库报错类型,判断数据库的错误点,可以使用order by来查询报错,或者使用floor()来进行报错查询,floor报错的原理就是采用的group bu与rand函数同时进行使用的时候,计算多次出现的错误导致。

字符型sql注入,是判断数据库的数据是字符型还是数字型,最简单的一个方法就是使用单引号去安全测试,单引号闭合就是字符型的sql注入。数字型就很简单了,通过输入数字值对其判断,and 1=1 \and 1=2来观察返回来的网站结果是不是正常的就知道了。

那么mysql该如何防止sql注入?我们通过以下三种方法进行防治sql注入

1.开启php的魔术模式,,magic_quotes_gpc = on即可,当一些特殊字符出现在网站前端的时候,就会自动进行转化,转化成一些其他符号导致sql语句无法执行。

2.网站代码里写入过滤sql特殊字符的代码,对一些特殊字符进行转化,比如单引号,逗号,*,(括号)AND 1=1 、反斜杠,select union等查询的sql语句都进行安全过滤,限制这些字符的输入,禁止提交到后端中去。

3.开启网站防火墙,IIS防火墙,apache防火墙,nginx防火墙,都有内置的过滤sql注入的参数,当用户输入参数get、post、cookies方式提交过来的都会提前检测拦截,也可以向国内专业做网站安全的公司去咨询。

网站mysql防止sql注入攻击 3种方法总结相关推荐

  1. 防止SQL注入攻击的一些方法小结

    SQL注入攻击的危害性很大.在讲解其防止办法之前,数据库管理员有必要先了解一下其攻击的原理.这有利于管理员采取有针对性的防治措施.一. SQL注入攻击的简单示例.statement := " ...

  2. 防范SQL注入的几种方法 4

    sql = "SELECT ID T_ID, NAME FROM Category where ID="&ID&" ORDER BY xh asc&quo ...

  3. jsp工程防止外部注入_防止 jsp被sql注入的五种方法

    一.SQL注入简介 SQL注入是比较常见的网络攻击方式之一,它不是利用操作系统的BUG来实现攻击,而是针对程序员编程时的疏忽,通过SQL语句,实现无帐号登录,甚至篡改数据库. 二.SQL注入攻击的总体 ...

  4. java防止sql注入方正_有效防止SQL注入的5种方法总结

    sql注入入门 SQL 注入是一类危害极大的攻击形式.虽然危害很大,但是防御却远远没有XSS那么困难. SQL 注入漏洞存在的原因,就是拼接 SQL 参数.也就是将用于输入的查询参数,直接拼接在 SQ ...

  5. 防止SQL注入的几种方法

    一.什么是sql注入 SQL注入是比较常见的网络攻击方式之一,它不是利用操作系统的BUG来实现攻击,而是针对程序员编程时的疏忽,通过SQL语句,实现无帐号登录,甚至篡改数据库. 二.SQL注入攻击的总 ...

  6. 2017-2018-2 20179216 《网络攻防与实践》 SQL注入攻击

    1. SQL语言 结构化查询语言(Structured Query Language)简称SQL:是一种特殊目的的编程语言,是一种数据库查询和程序设计语言,用于存取数据以及查询.更新和管理关系数据库系 ...

  7. 简单的SQL注入攻击

    一.寻找目标 如果要对一个网站进行SQL注入攻击,首先就需要找到存在SQL注入漏洞的地方,也就是寻找所谓的注入点.可能的SQL注入点一般存在于登录页面.查找页面或添加页面等用户可以查找或修改数据的地方 ...

  8. 一文搞懂SQL注入攻击

    SQL注入攻击 1. 前言 2. SQL注入简介 3. SQL注入步骤 4. 防范SQL注入 1. 前言 随着互联网的发展和普及,网络安全问题越来越突出,网络在为用户提供越来越多服务的同时,也要面对各 ...

  9. SQL注入攻击及其防范检测技术研究

    2008-12-18  来自:51CTO  作者:陈小兵 本文简要介绍了SQL注入攻击的原理,SQL注入攻击实现过程,并在此基础上给出了一种SQL注入攻击的自动防范模型. 1  SQL注入攻击概述 1 ...

最新文章

  1. 2021-2027全球与中国DNA测序市场现状及未来发展趋势
  2. 子元素绝对定位absolute后,自动撑开宽度
  3. 安卓x86程序安装目录_电脑上的安卓系统体验
  4. 圆方树(bzoj 2125: 最短路)
  5. python 百度识图_python如何调用百度识图api
  6. java技术学习路线(自用)
  7. js动态填充select
  8. 全国行政区划代码表(天地图)
  9. 斐波那契数列 java
  10. 菲尼克斯FL SWITCH SFN 16TX多端口交换机
  11. 数据分析 之八种方法
  12. 云计算是商业模式创新而非技术创新
  13. xposed框架报错安装不上解决办法
  14. VUE+Element学习笔记之登录页面跳转首页
  15. mac 的 excel 替换换行符
  16. MyBatis 插件之拦截器(Interceptor),拦截查询语句
  17. websocket实现语音通讯(转)
  18. AEC-Q100和ISO26262 ASIL-B双重认证
  19. ERROR: Cannot determine archive format of /tmp/pip-req-build-2uc6o_he 解决方案
  20. confirm多次点击确认,导致重复提交

热门文章

  1. 华为手机日历倒计时_igc 4周年庆倒计时!积分众乐乐赢华为手机
  2. 区间相关问题的学习: 最多不相交区间问题,区间选点问题与区间覆盖问题
  3. 使用MVC模式设计用户验证码登陆界面
  4. 几何公式和定理(初中)一些常用数学公式
  5. 2017.2.23工作日志
  6. Error:(7, 21) java: 程序包javax.servlet不存在
  7. abb机器人示教器io信号关联_如何在示教器上配置ABB机器人的输入/输出信号?(多图)...
  8. HEC-RAS水动力模型的一维二维及耦合建模
  9. 解释 RESTful API
  10. 计算机中的桌面是什么样的,从整理电脑桌面中学习如何分类