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

use*_*556 4 security

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

Sil*_*Fox 10

格式字符串漏洞: -

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

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

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