Go语言是否容易受到缓冲区溢出攻击?

17

我知道像C#这样的语言只有在使用marshal或unsafe代码时才会容易受到缓冲区溢出攻击。但是Go语言是否存在缓冲区溢出的漏洞呢?

3个回答

18

你有这个的来源吗? - cody.tv.weber
2
@codemon2002 这在链接的语言规范中有定义。 - Grzegorz Żur

4
在快速搜索中,我找到了这个链接:http://0xdabbad00.com/2015/04/12/looking_for_security_trouble_spots_in_go_code/。该链接指出,golang在大多数“已知”的攻击中是安全的(“已知”的意思是用于C)。例如,没有指针算术和手动内存管理等功能使其不易出现导致“可利用”代码的错误。
我不是golang的专家,但它似乎是一种经过深思熟虑的语言,具有良好的环境(标准库、编译器等)。

2

"Go语言通常是一种安全的语言。它内置了内存安全措施,可以避免常见的缓冲区溢出漏洞,就像它们在C程序中经常存在一样。" https://dev.to/jlauinger/exploitation-exercise-with-unsafe-pointer-in-go-information-leak-part-1-1kga

正如所说,“unsafe”标准库包破坏了这种内存安全性。通过使用“unsafe.Pointer”,我们可以创建任意类型的指针。

所以就像@Grzegorz Żur所说的那样,只要您没有玩弄“unsafe”包,它就不会受到攻击。

干杯

"


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接