字符串缓冲区如何导致运行恶意代码

How string buffer can lead to run malicious code?

本文关键字:恶意 代码 运行 何导致 缓冲区 字符串      更新时间:2023-10-16

我在很多地方读到,字符串缓冲区溢出会造成添加恶意代码等问题,或者很容易被黑客入侵。但是字符串驻留在BSS部分,以及它如何影响代码部分。

其次,即使字符串没有溢出,它仍然可以通过十六进制编辑器看到,所以它们不是同样危险吗?

谢谢。

缓冲区溢出可能发生在堆栈分配的字符串上(例如,对本地char buf[12]数组上的strcat的未检查调用)。这就是sprintf被弃用的原因,您应该始终使用snprintf

它可能被恶意代码和恶意软件利用,例如外壳代码

不要试图制作这样的恶意代码:上个世纪,一名青少年因黑客攻击和利用sendmail而入狱

BTW,堆内的缓冲区溢出也会破坏不相关的数据,从而带来很多麻烦