【发布时间】:2010-09-14 11:04:37
【问题描述】:
完全托管的 asp.net 门户网站中是否存在缓冲区溢出/溢出漏洞。如果是,如何测试。
【问题讨论】:
标签: c# asp.net buffer-overflow buffer-overrun
完全托管的 asp.net 门户网站中是否存在缓冲区溢出/溢出漏洞。如果是,如何测试。
【问题讨论】:
标签: c# asp.net buffer-overflow buffer-overrun
我有一个工具(HP Dev Inspect)在我的 ASP.NET 应用程序中检测到可能的“可能的参数缓冲区溢出”,这是因为我们的一个 TextBox 中没有 MaxLength="20"...
【讨论】:
在一般情况下,您无需担心缓冲区溢出。这是托管代码的主要优势之一,垃圾收集可能是另一个主要优势。
您应该注意一些边缘情况 - 任何时候您的托管代码与非托管代码(Win32 API 调用、COM 互操作、P/Invoke 等)交互时,非托管代码中都存在缓冲区溢出的可能性,基于从托管代码传入的参数。
标记为“不安全”的代码也可以直接操作内存地址,从而导致缓冲区溢出。不过,大多数 C# 代码都是在不使用“unsafe”关键字的情况下编写的。
【讨论】:
除非您利用网络服务器或 .NET/ASP.NET 堆栈本身,否则不会。
【讨论】: