C#或Java中是否存在格式化字符串漏洞?

时间:2014-04-21 06:10:04

标签: security

我已经了解了C ++中的格式字符串漏洞,但C ++是一种古老的语言。我想知道格式字符串漏洞是否仍然存在于现代语言中,如C#和Java。

1 个答案:

答案 0 :(得分:9)

Format String Vulnerability: -

  

格式字符串问题是一个典型的C / C ++问题,由于易于发现,现在很少见。格式字符串漏洞可以被利用的原因是%n运算符。 %n运算符会将由格式字符串打印的字符数写入其参数所指向的内存。

但是,C#和Java等语言产生的managed code不容易受到内存地址覆盖的影响,因为CLR / JVM管理进程内存而不是开发人员的责任。这可能意味着buffer overflow漏洞的可能性要小得多(但可能会发生,具体取决于被调用的第三方组件或语言本身的漏洞)。

因此,对于C#和Java等托管语言,答案是否定的。