<分区>
谁能解释一下为什么任何 c、c++ 程序中的符号扩展错误都具有很高的安全风险?
我读过,符号扩展错误 “通常会造成缓冲区溢出和其他基于内存的问题”。
我在 Google 上阅读了这篇文章,
http://minsky.gsi.dit.upm.es/semanticwiki/index.php/Sign_extension_error
但无法理解这对任何应用程序有何影响,攻击者如何利用此类漏洞?
提前致谢
<分区>
谁能解释一下为什么任何 c、c++ 程序中的符号扩展错误都具有很高的安全风险?
我读过,符号扩展错误 “通常会造成缓冲区溢出和其他基于内存的问题”。
我在 Google 上阅读了这篇文章,
http://minsky.gsi.dit.upm.es/semanticwiki/index.php/Sign_extension_error
但无法理解这对任何应用程序有何影响,攻击者如何利用此类漏洞?
提前致谢
最佳答案
一个很好的例子是使用 char 作为表的索引。 C 中的 char 类型可以签名,因此任何字符代码 > 0x7F 都将扩展为表中的负索引。这相当于缓冲区溢出攻击。 C 将 unsigned char 作为默认值会更好。
关于c++ - 为什么符号扩展错误具有很高的安全风险?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21218875/