什么是缓冲区溢出?
什么是缓冲区?
如何利用缓冲区溢出进行攻击?
缓冲区溢出攻击的类型有哪些?
-
堆栈溢出攻击 - 这是最常见的缓冲区溢出攻击类型,涉及到调用堆栈*上的缓冲区溢出。 -
堆溢出攻击 - 这种类型的攻击针对开放的内存池中称为堆*的数据。 -
整数溢出攻击 - 在整数溢出中,算术运算得出对于要存储结果的整数类型而言太大的整数;这可能导致缓冲区溢出。 -
Unicode 溢出 - Unicode 溢出通过将 Unicode 字符插入需要 ASCII 字符的输入中来创建缓冲区溢出。(ASCII 和 unicode 是使计算机表达文本的编码标准。例如,字母“a”由 ASCII 中的数字 97 表达。虽然 ASCII 码仅用于表达西方语言中的字符,但 unicode 可以为地球上几乎所有书面语言创建字符。因为 unicode 中有更多可用的字符,所以许多 unicode 字符大于最大的 ASCII 字符。)
谁容易受到缓冲区溢出攻击?
如何防范缓冲区溢出攻击?
-
地址空间随机化 - 随机重新排列进程的关键数据区的地址空间位置。缓冲区溢出攻击通常依赖于了解重要的可执行代码的确切位置,地址空间的随机化可以使这种了解几乎不可能。 -
防止数据执行 - 标记内存的某些区域(可执行或不可执行),防止漏洞利用运行不可执行区域中的代码。
原文始发于微信公众号(网络安全资源库):网络攻——缓冲区溢出攻击
- 左青龙
- 微信扫一扫
- 右白虎
- 微信扫一扫
评论