sql 整改措施 注入_SQL注入的漏洞及解决方案
一、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注入的漏洞及解决方案相关推荐
- sql盲注特点_SQL注入介绍及分类解读
SQL全称是Structured Query Language,是一种结构化的查询语言,用于与数据库进行交互并能够被数据库解析.SQL注入攻击是一种常见的注入攻击类型.攻击方式在用户与程序进行交互时发 ...
- mysql 数值型注入_SQL注入之PHP-MySQL实现手工注入-数字型
SQL注入,就是通过把SQL命令插入到Web表单提交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令.具体来说,它是利用现有应用程序,将(恶意的)SQL命令注入到后台数据库引擎 ...
- mysql中文注入_SQL注入之Mysql报错注入
--志向和热爱是伟大行为的双翼. 昨天偷懒了没学什么东西,先自我反省一下 - -. 今天认真的学习了一下Mysql报错注入利用方法及原理,好久之前就像认真的学一下这个了,是在上海市大学生网络安全大赛中 ...
- 如何有效避免mysql注入_sql注入方式及如何有效避免
先来看下这段sql $query = 'SELECT * from user where name =" '.$name.' "'; 这样的sql是我们经常有写的, 然后$name ...
- sql 整改措施 注入_SQL注入入侵防范措施
SQL 注入入侵防范技术措施 防止 SQL 注入,通常一个一个文件修改不仅麻烦而且还有漏掉的危险,下面我说一下如何从整个系统防止注入. 做到以下三步,相信你的程序就会比较安全了,而且对整个网站的维护也 ...
- sql 整改措施 注入_记一次Sql注入 解决方案
老大反馈代码里面存在sql注入,这个漏洞会导致系统遭受攻击,定位到对应的代码,如下图所示 image like 进行了一个字符串拼接,正常的情况下,前端传一个 cxk 过来,那么执行的sql就是 se ...
- sql 整改措施 注入_防止SQL注入的五种方法
一.SQL注入简介 SQL注入是比较常见的网络攻击方式之一,它不是利用操作系统的BUG来实现攻击,而是针对程序员编程时的疏忽,通过SQL语句,实现无帐号登录,甚至篡改数据库. 二.SQL注入攻击的总体 ...
- mysql sql宽字节注入_sql注入之宽字节注入
宽字节注入是因为数据库使用了GBK编码,不过现在大都使用unicode国际编码,大多数网站都使用了utf-8的编码 不过既然是sql注入的一部分,也搭建环境 做做实验 实验环境: wamp集成包 实 ...
- sql server注入_SQL注入:SQL Server中的介绍和预防方法
sql server注入 A SQL injection attack is one of the most commonly used hacking techniques. It allows h ...
最新文章
- Android替换view父节点,android – issue:指定的子节点已经有父节点.您必须首先在孩子的父母上调用removeView()...
- matlab--常微分方程的数值解(ODE-s)
- 2011 Michigan Invitational Programming Contest
- 树莓派分辨率调整(含官方默认和kali系统)
- 2019.08 me
- class没有发布到tomcat_总在说SpringBoot内置了tomcat启动,那它的原理你说的清楚吗?
- 窃取发送到服务器的任何信息,担心信息泄密?MIUI 11测试“空信息授权”,保护你的隐私...
- chap6_1 Sphere Environmental mapping in OGRE
- 使用PagedDataSource类实现分页
- 北京ICP经营许可证备案申请流程 电信业务经营许可办理
- 软件配合HT8691功放使用技巧
- [NISACTF 2022]上
- 人工智能发展历史与常见名词解释
- java shp文件_java发布shp数据
- 台式计算机如何升级,老电脑如何升级 老电脑升级方法【详细介绍】
- Microsoft Edge
- 这应该是第一篇写拼多多商业模式的文章吧
- java二重循环_java二重循环
- You are pushing more GUIClips than you are popping. Make sure they are balanced(Unity Console错误提示)
- 脑机接口技术的现状与未来!
热门文章
- Java 中的悲观锁、乐观锁、自旋锁、适应性自旋锁、偏向锁、轻量级锁、重量级锁、公平锁、非公平锁、可重入锁、共享锁等
- wins系统flask绑定mysql_flask如何连接mssql,网上大多是sqlite和mysql教程?
- Java笔记05-Collection、泛型、迭代器
- 塑料封装可靠性问题浅析
- NFS方式挂载rootfs的设置方法
- 破坏计算机系统既遂的标准,破坏计算机信息系统罪的量刑标准是什么
- 基于PHP实现一个简单的在线聊天功能(轮询ajax )
- 关于一些html和css2的知识点
- myeclipse启动报JVM terminated. Exit code=1
- 深入 JavaScript(4) - new运算符是如何工作的