SQL注入分析---(原理、危害、防御、应急响应)

1、攻击原理

漏洞成因可以归结为以下两个原因叠加造成的:1)程序编写者在处理应用程序和数据库交互时,使用字符串拼接的方式构造SQL语句;2)未对用户可控参数进行足够的过滤便将参数内容拼接进入到SQL语句中。

2、危害影响

1、攻击者可能利用SQL注入漏洞篡改网页数据,窃取用户数据,植入WebShell,甚至可能获取业务系统服务器账号权限等。

3、防御方法

1.使用参数检查的方式,拦截带有SQL语法的参数传入应用程序

2.使用预编译的处理方式处理拼接了用户参数的SQL语句(推荐!)

3.在参数即将进入数据库执行之前,对SQL语句的语义进行完整性检查,确认语义没有发生变化

4.在出现SQL注入漏洞时,要在出现问题的参数拼接进SQL语句前进行过滤或者校验,不要依赖程序最开始处防护代码

4、研判思路

1、判断是否为规则误报

 1)基于漏洞特征检测:查看是否在请求中包含明文或转义/转码后的数据库执行语句,比如:select、where等

 2)排除业务导致的误报:需要排除部分业务系统不规范导致的误报情况,比如:业务请求中包含select等字段时的误报

2、判断是否为恶意行为

 1)需要确认是否为分析和研究人员的测试行为;

 2)需要排除是否为内网已授权漏洞扫描器的扫描行为

3、判断是否攻击成功

 1)如果来源IP为内网,则说明内网已存在失陷服务器,可以认为攻击成功,该告警的处置优先级高;

 2)如果来源IP为外网,返回值中包含攻击者已执行成功/获取到有效信息,则认为是攻击成功。

5、应急响应-事中处置

1、已失陷主机

 1)隔离和处置失陷机器:及时联系机器负责人,对感染的机器采取断网操作,并且修改相关账户的口令,下载杀毒软件或者专杀软件进行清除;

 2)内部通告和培训:及时进行内部通告和培训,增强企业员工安全意识,对不明邮件附件和不明站点可疑连接谨慎点击访问,从正规渠道下载程序,不安装来自不明来源的应用程序;

 3)端口限制:根据业务情况,在不影响的情况下可选择在安全策略中限制如下端口,3306(MYSQL)、1521(ORACLE)、1433(SQL SERVER)、5432(PG)、6379(REDIS)、9200(ES)

 4)漏洞修补:对存在漏洞的主机进行安全漏洞修复,及时对设备系统进行安全更新和应用安全补丁更新

2、已失陷账户

 1)修改密码:建议采用数字、符号及大小写字母混合的方式,设置8位以上的密码;

 2)账户封禁

 3)账户权限收回

3、外部攻击遏制

 1)封禁IP:在防火墙上配置IP黑名单,封堵攻击源主机

6、应急响应-事后加固

 1)更新网络安全管理措施:根据该事件中暴露的问题,针对性修订完善网络安全管理制度,做好攻击预警和处置,同时对攻击事件进行复盘,并更新网络安全突发事件应急预案;

 2)加强网络安全隐患修补:在消除该事件攻击影响的情况下,开展网络安全隐患排查和修补。例如,在权限管理方面,重点排查弱口令、账户权限、口令更新和共用等问题;在漏洞修补方面,及时更新系统、软件、硬件等漏洞补丁;

 3)自动化封禁:使用SOAR或其他自动化手段将此类告警外网源IP在第一时间进行边界防火墙的封禁;

 4)保持网络安全设备特征库更新:日常运维过程中需要保持特征库为最新版本

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

普通组件的注册-局部注册和全局注册

目录 一、局部注册和全局注册-概述 二、局部注册的使用示例 三、全局注册的使用示例 一、局部注册和全局注册-概述 组件注册有两种方式: 局部注册:只能在注册的组件内使用。使用方法:创建.vue文件,在使用的组件内导入并注册。…

编程语言QT、C++、C#、Matlab、SQL Server开发日志总结

目录 引言 正文 1、Qt连接SQL server数据库 2、C#使用chart绘制实时折线图,波形 3、ORACLEXE数据库 4、QT通过ODBC驱动连接Oracle数据库 5、Microsoft SQL Server 2014 安装图解 6、SQL Server 2014应用 7、C/C​​​​​​​ 8、QT…

vue2后台管理项目

一:项目准备 1)拉取模板代码 远程仓库复制到本地仓库. 2)安装后的项目 路径 code 文件夹 会打开vscode的文件夹. 3)安装vetur和eslint插件可以保存时自动修改不规范的地方. 4)App内有一级路由,路由组件导入如果是layout架子,会导入的是文件夹下的index.js没有则导入index.v…

深度学习实战76-基于目标检测YOLOv5模型的迁移学习使用方法,YOLOv5的原理与结构

大家好,我是微学AI,今天给大家介绍一下深度学习实战76-基于目标检测YOLOv5模型的迁移学习使用方法,YOLOv5的原理与结构。YOLOv5(You Only Look Once version 5)是一种先进的目标检测算法,基于深度学习的单阶段目标检测模型。它的主要原理是通过一次前向传播就同时预测图像…

【Python】字典题

题目:输入一段文本,统计每个字符的个数 in_inputinput(“输入:”) dic{} for char in in_input: if char in dic: dic[char]1 # 字典添加键值对的方法,给字典给键和值的方法 else: dic[char]1 print(dic) for key,value in dic.i…

6、随机森林(Random forests)

Random forests started a revolution in machine learning 20 years ago. For the first time, there was a fast and reliable algorithm which made almost no assumptions about the form of the data, and required almost no preprocessing. In today’s lesson, you’ll…

Apache SeaTunnel 正式发布2.3.5版本,功能增强及多个Bug修复

经过两个月的筹备,我们在2.3.4版本基础上进行了新一轮的迭代,本次更新不仅修复了多个关键问题,还引入了若干重要功能增强和性能优化。 在此,我们先提前感谢社区成员的贡献和支持,如果你想升级最新的版本,快…

26 JavaScript学习:JSON和void

JSON 英文全称 JavaScript Object NotationJSON 是一种轻量级的数据交换格式。JSON是独立的语言JSON 易于理解。 JSON 实例 简单的 JSON 字符串实例: "{\"name\": \"Alice\", \"age\": 25, \"city\": \"San Francisco\&…

【陀螺仪JY61P维特智能】通过单片机修改波特率和角度参考的方法

根据官方文档: 修改波特率 1.解锁:FF AA 69 88 B5 1.1延时200ms 2.修改波特率:FF AA 04 06 00 2.1切换已修改的波特率然后重新发送解锁和保存指令 2.2解锁:FF AA 69 88 B5 2.3延时200ms 4.保存: FF AA 00 00 00 XY轴角度参考 角度参考是以传感器当前的实际位置&…

8款常见的自动化测试开源框架

在如今开源的时代,我们就不要再闭门造车了,热烈的拥抱开源吧!本文针对性能测试、Web UI 测试、API 测试、数据库测试、接口测试、单元测试等方面,为大家整理了github或码云上优秀的自动化测试开源项目,希望能给大家带来…

近似消息传递算法(AMP)单测量模型(SMV)

1、算法解决问题 很多人致力于解决SLM模型的求逆问题,即知道观测值和测量矩阵(字典之类的),要求未知变量的值。SLM又叫做标准线性模型,后续又在此基础上进行升级变为广义线性模型。即SLM是yAxe,这里是线性…

数据分析必备:一步步教你如何用numpy改变数据处理(6)

介绍: NumPy 广播(Broadcasting)是指当两个形状不同的数组进行运算时,NumPy 有能力灵活地改变其中某个(些)数组的形状从而使得运算可以正常进行。 广播的规则主要包括以下几点: 当一个数组是一个…

C语言 函数概述

好 接下来 我们来讲函数 构建C程序的最佳方式 就是模块化程序设计 C语言中 最基本的程序模块被称为 函数 所以 这个知识点的重要性不言而喻 这里 我们讲个故事 诸葛亮六出祁山时 为了逼司马懿出战 派人送给力司马懿一件女人衣服 司马懿只是为使者 诸葛亮的饮食起居 使者感叹…

网络 IO 模式

同步 IO 与异步 IO 同步 IO 和异步 IO 是关于数据读写方式的两种不同模式。 同步 IO 是指在程序读写数据时,需要等待操作完成后才能继续执行后面的程序。这种模式下,当程序使用阻塞式 IO 时,会一直等待IO操作完成,程序会暂停执行…

笔试强训Day18 字符串 排序 动态规划

[编程题]压缩字符串(一) 题目链接&#xff1a;压缩字符串(一)__牛客网 (nowcoder.com) 思路&#xff1a; 跟着思路写就完了。 AC code&#xff1a; #include <iostream> #include<string> using namespace std; string a; string ans; int main() {cin >>…

【LAMMPS学习】八、基础知识(5.9)LAMMPS 近场动力学

8. 基础知识 此部分描述了如何使用 LAMMPS 为用户和开发人员执行各种任务。术语表页面还列出了 MD 术语,以及相应 LAMMPS 手册页的链接。 LAMMPS 源代码分发的 examples 目录中包含的示例输入脚本以及示例脚本页面上突出显示的示例输入脚本还展示了如何设置和运行各种模拟。 …

渲染农场怎么渲染照片级效果图?

当讨论3D渲染的真实性时&#xff0c;不可避免地会将目光投向渲染农场。这些基于云的计算大军&#xff0c;专门负责逐帧打造接近现实的画面效果&#xff0c;无论是在电影动画还是在效果图制作等行业&#xff0c;都扮演着重要的支撑角色。对观众来说&#xff0c;画面的真实性几乎…

面试中算法(删去n个数字后的最小值)

有一个整数&#xff0c;从该整数中去掉n个数字&#xff0c;要求剩下的数字形成的新整数尽可能小。 分析&#xff1a;使用栈的特性&#xff0c;在遍历原整数的数字时&#xff0c;让所有数字一个一个入栈&#xff0c;当某个数字需要被删除时&#xff0c;&#xff08;即栈顶数字&g…

开源模型应用落地-CodeQwen模型小试-探索更多使用场景(三)

一、前言 代码专家模型是基于人工智能的先进技术&#xff0c;它能够自动分析和理解大量的代码库&#xff0c;并从中学习常见的编码模式和最佳实践。这种模型可以提供准确而高效的代码建议&#xff0c;帮助开发人员在编写代码时避免常见的错误和陷阱。 通过学习代码专家模型&…

高效项目管理:如何利用zz-plan在线甘特图工具

作为项目管理人员&#xff0c;使用 zz-plan https://zz-plan.com/这样的在线甘特图协作软件可以极大地提高项目管理的效率和效果。以下是结合zz-plan特点的一些关键步骤&#xff1a; 1. 制定项目计划 在zz-plan上创建新的项目&#xff0c;定义项目目标、关键里程碑和最终期限。…
最新文章