一、sql注入漏洞

1. SQL注入漏洞

SQL注入攻击(SQL Injection),简称为注入攻击,SQL注入,被广泛用于非法获取网站控制权。这是在应用程序的数据库层中发生的安全漏洞。在设计程序中,忽略了对输入字符串中包含的SQL命令的检查,并且将数据库误认为是要运行的常规SQL命令,这导致数据库受到攻击,从而可能导致盗窃,修改和删除数据,并进一步导致网站嵌入恶意代码,植入后门程序的危害等。

通常,注射位置包括:

(1)表单提交,主要是POST请求,还有GET请求;

(2)URL参数提交,主要是GET请求参数;

(3)Cookie参数的提交;

(4)HTTP请求标头中的一些可修改值,例如Referer,User_Agent等;

(5)一些边缘输入点,例如.mp3文件的某些文件信息。

sql注入的危害

SQL注入的危害不仅体现在数据库级别,而且还可能危及托管数据库的操作系统。如果将SQL注入用于挂马,还可能用来传播恶意软件等,这些危害包括但不局限于:

(1)数据库信息泄漏:泄漏用户存储在数据库中的私人信息。作为数据存储中心,各种类型的私人信息通常存储在数据库中。 SQL注入攻击能导致这些隐私信息透明于攻击者。

(2)篡改网页:通过操作数据库来篡改特定网页。

(3)网站被挂马,传播恶意软件:修改数据库一些字段的值,嵌入网马链接,进行挂马攻击。

(4)数据库被恶意操作:数据库服务器受到攻击,数据库系统管理员帐户被篡改。

(5)服务器受远程控制,并安装了后门。经由数据库服务器提供的操作系统支持,让黑客得以修改或控制操作系统。

(6)破坏硬盘数据并使整个系统瘫痪。

如何解决SQL注入

解决SQL注入问题的关键是严格检查可能来自用户输入的所有数据,并使用最小特权原则进行数据库配置。常用的方案有:

(1)所有查询语句都使用数据库提供的参数化查询接口,并且参数化语句使用参数,而不是将用户输入变量嵌入SQL语句中。几乎所有当前的数据库系统都提供参数化的SQL语句执行接口。使用此接口可以有效地防止SQL注入攻击。

(2)对进入数据库的特殊字符(’”<>&*;等)进行转义处理,或编码转换。

(3)确认每个数据的类型。例如,数字数据必须是数字,并且数据库中的存储字段必须与int类型相对应。

(4)应严格规定数据长度,以防在一定程度上正确执行较长的SQL注入语句。

(5)网站每个数据层的编码是统一的。建议使用UTF-8编码。上下层编码不一致可能会导致某些过滤模型被绕过。

(6)严格限制网站用户数据库的操作权限,并向该用户提供只能满足其工作要求的权限,从而最大程度地减少了注入攻击对数据库的危害。

(7)阻止网站显示SQL错误消息,例如类型错误,字段不匹配等,以防止攻击者使用这些错误消息进行判断。

(8)在网站发布之前,建议使用一些专业的SQL注入检测工具来及时检测和修补这些SQL注入漏洞。

sql 整改措施 注入_SQL注入的漏洞及解决方案相关推荐

  1. sql盲注特点_SQL注入介绍及分类解读

    SQL全称是Structured Query Language,是一种结构化的查询语言,用于与数据库进行交互并能够被数据库解析.SQL注入攻击是一种常见的注入攻击类型.攻击方式在用户与程序进行交互时发 ...

  2. mysql 数值型注入_SQL注入之PHP-MySQL实现手工注入-数字型

    SQL注入,就是通过把SQL命令插入到Web表单提交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令.具体来说,它是利用现有应用程序,将(恶意的)SQL命令注入到后台数据库引擎 ...

  3. mysql中文注入_SQL注入之Mysql报错注入

    --志向和热爱是伟大行为的双翼. 昨天偷懒了没学什么东西,先自我反省一下 - -. 今天认真的学习了一下Mysql报错注入利用方法及原理,好久之前就像认真的学一下这个了,是在上海市大学生网络安全大赛中 ...

  4. 如何有效避免mysql注入_sql注入方式及如何有效避免

    先来看下这段sql $query = 'SELECT * from user where name =" '.$name.' "'; 这样的sql是我们经常有写的, 然后$name ...

  5. sql 整改措施 注入_SQL注入入侵防范措施

    SQL 注入入侵防范技术措施 防止 SQL 注入,通常一个一个文件修改不仅麻烦而且还有漏掉的危险,下面我说一下如何从整个系统防止注入. 做到以下三步,相信你的程序就会比较安全了,而且对整个网站的维护也 ...

  6. sql 整改措施 注入_记一次Sql注入 解决方案

    老大反馈代码里面存在sql注入,这个漏洞会导致系统遭受攻击,定位到对应的代码,如下图所示 image like 进行了一个字符串拼接,正常的情况下,前端传一个 cxk 过来,那么执行的sql就是 se ...

  7. sql 整改措施 注入_防止SQL注入的五种方法

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

  8. mysql sql宽字节注入_sql注入之宽字节注入

    宽字节注入是因为数据库使用了GBK编码,不过现在大都使用unicode国际编码,大多数网站都使用了utf-8的编码 不过既然是sql注入的一部分,也搭建环境  做做实验 实验环境: wamp集成包 实 ...

  9. sql server注入_SQL注入:SQL Server中的介绍和预防方法

    sql server注入 A SQL injection attack is one of the most commonly used hacking techniques. It allows h ...

最新文章

  1. Android替换view父节点,android – issue:指定的子节点已经有父节点.您必须首先在孩子的父母上调用removeView()...
  2. matlab--常微分方程的数值解(ODE-s)
  3. 2011 Michigan Invitational Programming Contest
  4. 树莓派分辨率调整(含官方默认和kali系统)
  5. 2019.08 me
  6. class没有发布到tomcat_总在说SpringBoot内置了tomcat启动,那它的原理你说的清楚吗?
  7. 窃取发送到服务器的任何信息,担心信息泄密?MIUI 11测试“空信息授权”,保护你的隐私...
  8. chap6_1 Sphere Environmental mapping in OGRE
  9. 使用PagedDataSource类实现分页
  10. 北京ICP经营许可证备案申请流程 电信业务经营许可办理
  11. 软件配合HT8691功放使用技巧
  12. [NISACTF 2022]上
  13. 人工智能发展历史与常见名词解释
  14. java shp文件_java发布shp数据
  15. 台式计算机如何升级,老电脑如何升级 老电脑升级方法【详细介绍】
  16. Microsoft Edge
  17. 这应该是第一篇写拼多多商业模式的文章吧
  18. java二重循环_java二重循环
  19. You are pushing more GUIClips than you are popping. Make sure they are balanced(Unity Console错误提示)
  20. 脑机接口技术的现状与未来!

热门文章

  1. Java 中的悲观锁、乐观锁、自旋锁、适应性自旋锁、偏向锁、轻量级锁、重量级锁、公平锁、非公平锁、可重入锁、共享锁等
  2. wins系统flask绑定mysql_flask如何连接mssql,网上大多是sqlite和mysql教程?
  3. Java笔记05-Collection、泛型、迭代器
  4. 塑料封装可靠性问题浅析
  5. NFS方式挂载rootfs的设置方法
  6. 破坏计算机系统既遂的标准,破坏计算机信息系统罪的量刑标准是什么
  7. 基于PHP实现一个简单的在线聊天功能(轮询ajax )
  8. 关于一些html和css2的知识点
  9. myeclipse启动报JVM terminated. Exit code=1
  10. 深入 JavaScript(4) - new运算符是如何工作的