
为成长中的人们提供短视频,自媒体,一站式服务
一个,什么是缓冲区溢出
缓冲区溢出是指,当计算机程序填充到缓冲区的数据超出缓冲区本身的容量时,溢出的数据将覆盖合法数据. 在正常情况下,覆盖数据是没有意义的. 程序执行是错误的,但是如果输入数据是由攻击者的精力所构成的侵入性程序代码,则攻击者可以控制该程序.

第二,缓冲区溢出攻击方法简介
1. 工艺控制和植入代码;
这种攻击方法比较普遍. 在攻击过程中,它位于一个可能溢出的变量中,然后将字符串传递给程序,并植入恶意代码,同时导致缓冲区溢出更改了Actiation记录. 植入代码和溢出不一定必须同时进行. 您可以将代码放在缓冲区中,然后通过溢出另一个缓冲区来迁移程序的指针.

2. 在地址空间中排列恶意代码;
如果目标代码已存在于受攻击程序中,则只需将一些参数传递给代码,然后使程序执行跳转至目标代码. 应用示例: 某些程序具有重置管理员密码的功能. 这样,可以重置管理员密码. 当然,这种可能性相对较小,因此使用了另一种“植入”方法. 当将字符串输入要攻击的程序时,程序会将此字符串放入缓冲区. 此字符串包含的数据是目标程序的指令序列. 然后再次提交参数,以使程序执行缓冲区中的指令序列.
3. 将控制代码转换为攻击代码

通过溢出缓冲区,您可以重写相关程序的空间,并直接通过系统以验证身份. 攻击所针对的缓冲区溢出的程序空间可以是任何空间. 但是,由于不同地址的位置不同,因此存在多种转换方法,例如函数指针,记录和长跳转缓冲区.
三一定程度上能防范缓冲区溢出攻击的措施有哪些,防止缓冲区溢出
实际上,安全界中许多伟大的神都对此事感到担忧,我只是简要列举了一些让大师笑的事情.

1. 正确编写代码
实际上,这是相对基本的,在编写代码时,并不是程序会故意犯错误,而是一点点的错误会导致严重的后果,因此代码的编写和代码的审核极为重要.
2. 检查数组的边界
实际上,只要数组不溢出,缓冲区溢出攻击就会是苍白的. 因此,在第一点的同时,重点应该放在数组的读取和写入操作上,以便可以实现程序数组的操作在正常和安全范围内.
3. 程序指针完整性
在攻击应用程序中一定程度上能防范缓冲区溢出攻击的措施有哪些,经常使用程序的指针,因此当引用度数指针时,应进行其更改检测. 在这种情况下,如果使用了指针,也可能是因为系统已检测到指针. 更改不会导致指针使用. 当然,这并不能从根本上解决问题.
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-164137-1.html
10
癌症咋了
巴菲特呢