我已经了解了C ++中的格式字符串漏洞,但C ++是一种古老的语言。我想知道格式字符串漏洞是否仍然存在于现代语言中,如C#和Java。
答案 0 :(得分:9)
Format String Vulnerability: -
格式字符串问题是一个典型的C / C ++问题,由于易于发现,现在很少见。格式字符串漏洞可以被利用的原因是%n运算符。 %n运算符会将由格式字符串打印的字符数写入其参数所指向的内存。
但是,C#和Java等语言产生的managed code不容易受到内存地址覆盖的影响,因为CLR / JVM管理进程内存而不是开发人员的责任。这可能意味着buffer overflow漏洞的可能性要小得多(但可能会发生,具体取决于被调用的第三方组件或语言本身的漏洞)。
因此,对于C#和Java等托管语言,答案是否定的。