首页 / 技术

不同代的编程语言具有不同的功能,使用 C 的基于客户端的应用程序最容易受到缓冲区溢出(buffer overflow)攻击

2023-03-18 23:13:01技术作者:网友佚名投稿

https://ithelp.ithome.com.tw/upload/images/20221011/20132160fwdRX6uBWC.jpg
-软件运行环境

与 JavaScript、C# 和 Java 不同,C 语言提供编程结构来直接控制硬件并调用操作系统提供的服务。例如,“指针(pointer)”用于操作静态或动态分配的内存。
使用 JavaScript、C# 和 Java 开发的应用程序是托管应用程序,并在运行时环境或沙箱中执行。例如,基于 .NET 框架的 C# 应用程序(编译为 MSIL)、Java 虚拟机 (JVM) 中的 Java 应用程序以及浏览器或 Node.js 运行时中的 JavaScript。
托管应用程序中可能会发生缓冲区溢出。但是,它们通常由运行时或沙箱很好地管理。C 应用程序自己管理内存;它们更容易受到缓冲区溢出攻击。

参考
. 编程语言世代
. 缓冲区溢出

数据来源: Wentz Wu QOTD-20211102
My Blog: https://choson.lifenet.com.tw/


本站文章均来自互联网,仅供学习参考,如有侵犯您的版权,请邮箱联系我们删除!

猜你喜欢