我知道像C#这样的语言只有在使用marshal或unsafe代码时才会容易受到缓冲区溢出攻击。但是Go语言是否存在缓冲区溢出的漏洞呢?
我知道像C#这样的语言只有在使用marshal或unsafe代码时才会容易受到缓冲区溢出攻击。但是Go语言是否存在缓冲区溢出的漏洞呢?
Go检查字符串、数组和切片的边界,因此只要不使用unsafe包,它就不会存在漏洞。
"Go语言通常是一种安全的语言。它内置了内存安全措施,可以避免常见的缓冲区溢出漏洞,就像它们在C程序中经常存在一样。" https://dev.to/jlauinger/exploitation-exercise-with-unsafe-pointer-in-go-information-leak-part-1-1kga
正如所说,“unsafe”标准库包破坏了这种内存安全性。通过使用“unsafe.Pointer”,我们可以创建任意类型的指针。
所以就像@Grzegorz Żur所说的那样,只要您没有玩弄“unsafe”包,它就不会受到攻击。
干杯
"