首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >缓冲区溢出漏洞是否需要填充?

缓冲区溢出漏洞是否需要填充?
EN

Security用户
提问于 2017-11-16 21:30:46
回答 1查看 226关注 0票数 0

为什么我看到一个填料被用于一些功用?

以下面的代码为例:

代码语言:javascript
复制
exploit = junk + eip + nops + shellcode

fill = "\x43"*(BUF_SIZE-len(exploit))
buf = exploit + fill

我想缓冲区是我们可以发送给stack..our的最大字节数,所以我们添加了一个过滤器来使它更稳定?是推荐的吗?我们能不加填料吗?

EN

回答 1

Security用户

发布于 2022-06-06 11:07:46

需要“填充”或更经常被称为“垃圾”的主要原因是,我们需要触发相关漏洞。

例如,假设我们有一个2048字节的堆栈分配缓冲区和一个易受攻击的gets()。我们需要向应用程序发送至少2048个字节来填充堆栈缓冲区,在这2048字节之后,我们将开始破坏程序状态(堆栈、寄存器等),这最终使我们能够控制返回地址。

正如评论中提到的,直接进入指令指针是非常罕见的,所以事实上我只能想象CTF中会出现这种情况。本质上,我们只需要用一些数据填充缓冲区,就可以触发漏洞。

票数 0
EN
页面原文内容由Security提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://security.stackexchange.com/questions/173645

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档