Web 应用程序如何容易受到缓冲区溢出安全问题的影响



Java中的缓冲区溢出问题主要是由于JVM中的问题而发生的。

除此之外,开发人员代码是否有机会容易受到缓冲区溢出的影响?Esp 在定制的基于 java/nee 的 Web 应用程序中?

如果您(或您使用的库)没有在 Java 应用程序中使用 JNI(本机)代码,并且如果所有 JVM 函数都没有错误(过去存在媒体解析等错误),那么您不必担心传统的缓冲区溢出。这基本上适用于所有"托管代码"运行时,也是最大的优势之一。

但是,您仍然可以溢出数据结构。这不会导致严重的堆或堆栈损坏,但可能会产生拒绝服务、信息泄露或逻辑问题。

示例很简单:

void test() {
    char[] c = new char[10];
    c[11] = '1'; // or 10
} 

如果尝试此方法,它将引发ArrayIndexOutOfBounds异常,并且不会写入内存位置。事实上,如果你阅读Java语言规范,这是异常的主要动机之一。

*这是一个很大的如果....

相关内容

  • 没有找到相关文章

最新更新