首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

这五种编程语言都有暴露应用程序攻击的漏洞

即使是使用安全开发程序构建的软件也可能容易受到攻击, 这是由于它们所依赖的解释的编程语言存在缺陷。

IOActive的研究员Fernando Arnaboldi在黑帽欧洲会议上透露,五种流行的编程语言的解释器存在严重缺陷,这使得应用程序面临风险。

Arnaboldi发现,例如,Python有“可以用于OS命令执行的未公开的方法和本地环境变量”。

NodeJS是一个JavaScript解释器,同时可以通过输出的错误消息来泄漏文件内容,而JRuby是Ruby的Java实现,“在不是为远程代码执行而设计的函数上加载和执行远程代码”。

对Perl来说,Arnaboldi引用了它的typemaps函数的能力,包括在默认的一组模块中,来执行代码。 在PHP中,某些本地函数可以传递一个常量的名字来执行远程命令执行。

他认为这些漏洞可能是由于试图简化软件开发而造成的。

这些语言漏洞被怀疑是由于试图简化软件开发而造成的

“这些漏洞最终会影响到受影响的解释器的正常应用程序;然而,这些修补程序应该应用于解释器。”他说。

对于被解释的编程语言的漏洞, 软件开发人员可能不知不觉地将代码包含在应用程序中, 这种方法可以用设计器没有预见到的方式来使用。Arnaboldi 写道: "这些行为中的一些会给应用程序安全带来风险, 而这些应用是根据指导原则开发的。

研究人员利用XDiFF(一种“差别化的模糊”)发现了这些缺陷,并针对不同的语言进行了几个解释。

对于JavaScript,目标包括Google的v8 JavaScript引擎,以及微软的ChakraCore等价物,Mozilla的SpiderMonkey,NodeJS和Node-ChakraCore。

在PHP中,他使用了PHP和HHVM,而Ruby的目标包括Ruby和JRuby。他还使用了Perl、ActivePerl、CPython、PyPy和Jython。

正如他之前指出的那样,研究表明,当使用编程语言的某些特性时,应用程序可能会受到安全问题的影响。

Aranboldi写道:“在可能影响安全应用程序的不同实现中有许多可能被滥用。在JavaScript、Perl、PHP、Python和Ruby中,解释的编程语言对代码进行解析时,出现了一些意想不到的情况。”

更多阅读

“欢乐圣诞”“喜迎元旦”课课家“双旦”活动火爆来袭!

课课家云数据中心网络技术与设计视频课程

课课家 2018年软考软件设计师历年案例分析真题详析视频课程

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20171225A05BPY00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券