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注入漏洞。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/468623.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

check-lxdialog.sh: line 3: $'\r': command not found

问题 make all make[1]: Entering directory /cygdrive/d/AiThinkerIDE_V0.5/cygwin/home/aithinker/project/esp-idf/tools/kconfig /cygdrive/d/AiThinkerIDE_V0.5/cygwin/home/aithinker/project/esp-idf/tools/kconfig/lxdialog/check-lxdialog.sh: line 3: $\r: command…

Qt setMargin()和setSpacing() 的含义

mainLayoutnewQVBoxLayout(this); mainLayout->setMargin(30); //表示控件与窗体的左右边距 mainLayout->setSpacing(40); //表示各个控件之间的上下间距转载于:https://www.cnblogs.com/invisible2/p/6843159.html

复习Collection_迭代器使用细节_泛型_综合案例

Collection_迭代器使用细节_泛型_综合案例 主要内容 Collection集合迭代器增强for泛型 第一章 Collection集合 1.1 集合概述 集合&#xff1a;集合是java中提供的一种容器&#xff0c;可以用来存储多个数据。 集合和数组既然都是容器&#xff0c;他们之间的区别: 数组的…

esp32 coredump分析

写文章的原因 网上很多人写了 esp32 的coredump 分析&#xff0c;好吧&#xff0c;我看了下&#xff0c;都是从网上摘抄的&#xff0c;根本跑不通&#xff0c;我想写一个给大家有用的。 官网文章 https://esp-idf-zh.readthedocs.io/zh_CN/latest/api-guides/core_dump.html…

iphone mac地址是否随机_iOS8随机MAC地址功能:需要满足前提要求

苹果今年WWDC大会上透露过 iOS8 当中将具备一个连接 Wi-Fi 时随机生成 MAC 伪地址的功能&#xff0c;用来防范一些提供 Wi-Fi 的不法商家获取用户的隐私数据挪作它用。近日&#xff0c;一家名为 AirTight Networks 的移动安全技术研究公司发布了一份针对该功能的调查报告&#…

Kubernetes dashboard集成heapster

图形化展示度量指标的实现需要集成k8s的另外一个Addons组件&#xff1a; Heapster 。 Heapster原生支持K8s(v1.0.6及以后版本)和 CoreOS &#xff0c;并且支持多种存储后端&#xff0c;比如&#xff1a; InfluxDB 、 ElasticSearch 、 Kafka 。 下载源包和images文件 下载地址h…

复习JavaFile类_递归_综合案例

复习File类_递归 主要内容 File类递归 第一章 File类 1.1 概述 java.io.File 类是文件和目录路径名的抽象表示&#xff0c;主要用于文件和目录的创建、查找和删除等操作, 这里需要注意一点File不能用于对文件内容进行操作, 对文件内容进行操作需要使用FileInputStream与Fi…

ESP32 分区介绍

软件设计分区表 如上图是正常运行需要的分区&#xff0c;一个系统的正常运行是需要这么多分区的。 分区表&#xff0c;我们软件默认配置的分区表如下 # Espressif ESP32 Partition Table # Name, Type, SubType, Offset, Size, Flags nvs,data,nvs,0x9000,16K, otadata,data,…

python坦克大战_Life is short,you need Python——Python实现坦克大战(一)

先展示一下效果搓搓小手手&#xff0c;坦克大战即将开始……https://www.zhihu.com/video/1140743290784817152一、游戏引擎的安装安装方式有两种&#xff1a;1.pip安装 windows R --> cmd --> pip install pygame2.pycharm安装 File -->setting -->project -->…

【java设计模式】【行为模式Behavioral Pattern】迭代器模式Iterator Pattern

1 package com.tn.pattern;2 3 public class Client {4 public static void main(String[] args) {5 Object[] objs{"飞","雪","连","天","射","白","鹿","笑","书",&…

复习Java字节流_字符流使用及案例

字节流_字符流 主要内容 IO流字节流字符流异常处理Properties 第一章 IO概述 1.1 什么是IO 生活中&#xff0c;你肯定经历过这样的场景。当你编辑一个文本文件&#xff0c;忘记了ctrls &#xff0c;可能文件就白白编辑了。当你电脑上插入一个U盘&#xff0c;可以把一个视频…

ESP32 coredump 分析

1. 上次写了一个 ESP32 入门&#xff0c;我想有必要再写这篇文章&#xff0c;这次主要是分析 coredump 的&#xff0c;这就像 Android 和 Linux 系统的死机分析&#xff0c;有意思&#xff0c;也有难度。我们写代码的时候&#xff0c;不可避免的会遇到一些 coredump 的问题&am…

pycharm变量存_pycharm不为人知的功能们

一、远程调试这个功能真的好用&#xff0c;现改现测参考的博客写的挺详细的&#xff0c;补充一下个人的注意事项1.要选sftp连接&#xff0c;否则连接不上(没有具体查找原因&#xff0c;sftp挺好用的就用着)&#xff0c;端口是222.Connection中的Root path指定根目录&#xff0c…

css div设置inline-block后 div顶部对齐

div{vertical-align:top}转载于:https://www.cnblogs.com/SunSong/p/6846776.html

我那个在华为过得很好的朋友

最近华为的事件又上了热搜&#xff0c;不管是微信还是知乎&#xff0c;都在啃这个热点&#xff0c;一种是看热闹不闲事大的&#xff0c;一种是看热闹闲事大的&#xff0c;我呢&#xff1f;昨晚跟我的一个华为朋友玩了几把王者荣耀&#xff0c;虽然不能带他全盘浪&#xff0c;但…

Redis概述_使用命令对redis的数据进行增删改查_Jedis连接redis进行数据操作_redis进行数据缓存案例

学习目标 redis 概念下载安装命令操作 1. 数据结构持久化操作使用Java客户端操作redis Redis 前言(从百度上抄的, 看看了解一下, 懒得排版了) 1. 概念&#xff1a; redis是一款高性能的NOSQL系列的非关系型数据库1.1.什么是NOSQLNoSQL(NoSQL Not Only SQL)&#xff0c;意即…

cif t t操作流程图_外贸跟单员的详细工作流程:跟单员工作流程图

&#xfeff;外贸跟单员详细工作流程外贸跟单员定义: 外贸跟单员是指在进出口业务中&#xff0c;在贸易合同签订后&#xff0c;依据合同和相关单证对货物加工、装运、保险、报检、报关、结汇等部分或全部环节进行跟踪或操作&#xff0c;协助履行贸易合同的外贸业务人员。外贸跟…

从你的全世界路过-论演员的自我修养

线程 1.概念 &#xff1a; 线程是一个程序内部的顺序控制流 2.线程与进程的区别 &#xff08;1&#xff09;每个进程都有独立的代码和数据空间&#xff08;进程上下文&#xff09;&#xff0c;进程间的切换会有较大的开销 &#xff08;2&#xff09; 线程可以看做轻量级的进程…

要有敬畏之心

最近开始周六也没有休息&#xff0c;心理上还是很难接受&#xff0c;也不是说周六上班有多累&#xff0c;就是没有找到对的感觉&#xff0c;就像和一个不喜欢的姑娘相亲&#xff0c;就算姑娘家财万贯&#xff0c;貌美如花&#xff0c;自己还是提不起兴趣&#xff0c;可能这就是…

复习Java_List_Set_HashSet原理_Collections使用_Comparator使用

复习Java_List_Set_HashSet原理_Collections使用_Comparator使用 主要内容 数据结构List集合Set集合Collections 第一章 数据结构 2.1 数据结构有什么用&#xff1f; 加快应用开发, 提高程序健壮性, 提高程序可重用性 2.2 常见的数据结构 数据存储的常用结构有&#xff…