缓冲区溢出基础与实践

2023-10-29

实验目的

1)理解缓冲区溢出的原理与危害;
2)了解防范缓冲区溢出的基本方法;
3)了解常见的缓冲区溢出攻击。

预备知识

缓冲区溢出

缓冲区溢出是指当计算机向缓冲区内填充数据时超过了缓冲区本身的容量,溢出的数据覆盖在合法数据上。理想的情况是:程序检查数据长度并不允许输入超过缓冲区长度的字符,但是绝大多数程序都会假设数据长度总是与所分配的储存空间相匹配,这就为缓冲区溢出埋下了隐患。
操作系统所使用的缓冲区,又被称为“堆栈”。在各个操作进程之间,指令会被临时储存在“堆栈”中,“堆栈”也会出现缓冲区溢出。
缓冲区溢出的危害:在当前网络与分布式系统安全中,被广泛利用的50%以上都是缓冲区溢出,其中最著名的例子是1988年利用fingerd漏洞的蠕虫。而缓冲区溢出中,最为危险的是堆栈溢出,因为入侵者可以利用堆栈溢出,在函数返回时改变返回程序的地址,让其跳转到任意地址,带来的危害是:一种情况是程序崩溃导致拒绝服务,另外一种就是跳转并且执行一段恶意代码,比如得到shell,然后为所欲为。

MS12-020漏洞

微软于2012年3月12日发布安全公告,公布了MS12-020漏洞,漏洞级别为严重,这个级别是微软所有漏洞级别的最高级别,意即会对服务和企业运营造成巨大损失。
这个漏洞的定义是指操作系统的远程桌面协议存在重大漏洞,入侵者(黑客)可以通过向远程桌面默认端口(3389)发一系列特定RDP包,从而获取超级管理员权限,进而入侵系统。
若该主机同时提供80端口服务,那么疑似有相对更大的隐患。
根据微软的安全公告,Windows全系列操作系统(WinXP/Vista/Win7/Win2000/Win2003/Win2008)均存在受控威胁。但因为远程桌面管理的特殊性,几乎所发现的主机都是服务器,PC机暂未发生。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

缓冲区溢出基础与实践 的相关文章

随机推荐

  • 蓝桥杯单片机半小时三等奖代码详解

    半小时三等奖程序是蓝桥杯单片机比赛的基础程序 并不是真正意义上的三等奖 下面我根据自己的理解 对半小时省赛三等奖的程序进行解读 基础操作单元 1 LED灯 2 数码管 3 独立按键 4 矩阵键盘 5 蜂鸣器和继电器 我们的程序也是围绕这几个
  • 实现绝对定位元素水平垂直居中的两种方法

    实现绝对定位元素水平垂直居中的两种方法 平时 用的方法即第一种方法是设置left top值均为50 同时margin left设置为绝对定位元素width的一半取负 margin top设为其height的一半取负 例如 绝对定位元素的wi
  • 前端js 数字金额转换为记账格式 金额格式化

    引用
  • Pycharm安装并搭建Tensorflow开发环境

    Pycharm安装并搭建Tensorflow开发环境 下载并安装pycharm 1 下载 2 pycharm配置python环境 安装tensorflow 1 输入清华仓库镜像 2 创建tensorflow环境 3 启动tensorflow
  • 如何确定K-means算法中的k值?

    1 K means算法 k means算法是机器学习中常用的聚类算法 原理简单实现容易 内存占用量也比较小 但使用这个方法时 需要事先指定将要聚合成的簇数 在先验知识缺乏的情况下 想要确定是非常困难的 目前常用的用来确定的方法主要有两种 肘
  • Sqli-labs之Less-18和Less-19

    Less 18 基于错误的用户代理 头部POST注入 注 这一个模拟的场景是注册登录后的注入 由题意可知 这又是一种新姿势 老方法 查找注入点 发现前面的方法都未成功 且错误回显与正确回显都显示IP 这里写说几个常用请求头 上一篇文章详细讲
  • C# System.Guid.NewGuid()

    C System Guid NewGuid GUID 即Globally Unique Identifier 全球唯一标识符 也称 作 UUID Universally Unique IDentifier GUID是一个通过特定算法产生的二
  • 【C语言】操作符详解(上篇)

    操作符分类 1 算术操作符 2 移位操作符 2 1整数的二进制表示形式 2 2 左移操作符 lt lt 2 3 右移操作符 gt gt 3 位操作符 3 1 3 2 3 3 4 赋值操作符 5 单目操作符 5 1 单目操作符的介绍 5 2
  • C#: 未能加载文件或程序集“xxx“

    导入数据时 发生了异常 错误日志如下 2023 09 11 09 20 49 304 125 FATAL null NPOI POIXMLException gt System Reflection TargetInvocationExce
  • Android上使用AES加密和解密字符串

    废话少说 直接上类的源码 import android util Base64 import java nio charset StandardCharsets import java util Objects import java ut
  • Android屏幕适配很难嘛其实也就那么回事,面试官不讲武德

    前言 大厂面试一直都是程序员圈内摸鱼时间津津乐道的话题 进大厂想必也是无数程序员的梦想 关于 原理 的问题 几乎是现如今Android开发岗必问的问题 尤其在大厂面试中更为突出 有过大厂面试经验的小伙伴应该知道 大厂的面试官一般会基于你的简
  • MySQL必知必会——第十四章使用子查询

    使用子查询 本章介绍什么是子查询以及如何使用它们 子查询 SELECT语句是SQL的查询 目前我们用的所有SELECT语句都是从单个数据库表中检索数据的单条简单语句 查询 query 任何SQL语句都是查询 但此术语一般指SELECT语句
  • 深度学习之 Keras vs Tensorflow vs Pytorch 三种深度学习框架

    深度学习是人工智能的子集 深度学习模仿人脑处理数据的神经通路 将其用于决策 检测对象 识别语音和翻译语言 它从非结构化和未标记的数据中学习 无需人工监督或干预 深度学习通过使用人工神经网络的层次结构来处理机器学习 人工神经网络的构建类似于人
  • 破解路由器管理登录密码

    破解路由器管理登录密码 Linux内核 准备工具 puttytel登录软件 正式开工 第一步 首先检查自己的路由器的系统 看是不是Linux内核的 只有是Linux内核的路由器才适合本教程 常见基于Linux内核的路由器系统有Openwrt
  • corosync+pacemaker高可用的lvs directory

    实验配置一个corosync pacemaker高可用的lvs directory负载均衡基于ldirectord ldirectord 独立守护进程服务 管理lvs director 1 生成IPvs规则 2 对各RS做健康状态监测 配置
  • 使用miniserve快速搭建文件服务

    当我们想自己搭建一个 HTTP 文件服务向其他人分享文件 或者往其他设备上传输文件时 又不想花费时间去研究 Nginx IIS FTP 这些东西 我们可以通过 miniserve 一键生成简约 美观的文件服务器 访问 miniserve 客
  • 祝贺!Databend Cloud 和阿里云 PolarDB 达成认证

    近日 北京数变科技有限公司旗下产品与阿里云 PolarDB 开源数据库社区展开产品集成认证 测试结果表明 北京数变科技有限公司旗下产品 Databend Cloud V1 25 正式通过了 阿里云 PolarDB 数据库管理软件 的技术认证
  • Docker 安装 Nginx容器 配置以及重新生成镜像

    目录 1 查看是否存在nginx镜像 2 搜索可用的nginx镜像 下载nginx镜像 3 创建并启动nginx容器 4 进入容器 对相关文件进行配置 5 更新镜像 6 将由容器生成的镜像push到镜像仓库docker hub 基本思路 先
  • 【华为OD机试】单词接龙【2023 B卷

    华为OD机试 真题 点这里 华为OD机试 真题考点分类 点这里 题目描述 单词接龙的规则是 可用于接龙的单词首字母必须要前一个单词的尾字母相同 当存在多个首字母相同的单词时 取长度最长的单词 如果长度也相等 则取字典序最小的单词 已经参与接
  • 缓冲区溢出基础与实践

    目录 实验目的 预备知识 缓冲区溢出 MS12 020漏洞 Metasploit工具 实验环境 实验步骤一 实验步骤二 实验步骤三 实验目的 1 理解缓冲区溢出的原理与危害 2 了解防范缓冲区溢出的基本方法 3 了解常见的缓冲区溢出攻击 预