加入收藏 | 设为首页 | 会员中心 | 我要投稿 应用网_扬州站长网 (https://www.0514zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php编码 没有一个APP是安全的!PHP、Python等编码语言出现重大漏洞

发布时间:2022-10-04 12:36:18 所属栏目:PHP教程 来源:
导读:  Black Hat Europe 2017安全会议的成果可谓是成果满满,这不又有专家发现多种编码语言(JavaScript, Perl, PHP, Python, Ruby)都存在严重漏洞,这意味着使用这些语言所编写的各种应用程序也都存在同样的漏洞。
  Black Hat Europe 2017安全会议的成果可谓是成果满满,这不又有专家发现多种编码语言(JavaScript, Perl, PHP, Python, Ruby)都存在严重漏洞,这意味着使用这些语言所编写的各种应用程序也都存在同样的漏洞。
 
  发表该研究的作者是美国安全公司 IOActive 的高级安全顾问Fernando Arnaboldi,他是通过模糊测试找到了目前最流行的5种解释型语言中的漏洞。
 
  模糊测试(fuzz testing)是一种安全测试方法,它介于完全的手工测试和完全的自动化测试之间。为什么是介于那两者之间?首先完全的手工测试即是渗透测试,测试人员可以模拟黑客恶意进入系统、查找漏洞,这对测试人员的要求比较高。能力强的测试人员可以发现比较多或者高质量的安全性问题,但是如果测试人员的能力不够,可能就不能找到足够多、威胁大的安全漏洞。
 
  虽然模糊测试已经在软件测试领域使用了许多年,不过最近才在安全研究人员的圈子中流行开来,特别是在Google的安全团队和Linux社区中。因为使用模糊测试可以有效地发现崩溃、挂起或内存损坏等问题。一般情况下,我们会认为发生这些问题是因为应用程序的源代码太冗长需要优化,而不会想到是编写代码的语言出现了问题。
 
  5种解释型语言中的漏洞
 
  在Arnaboldi进行的模糊测试中,他为了弄清5种编程语言的结构和运行方式,还专门编写了自己的 XDiFF (Extended Differential Fuzzing Framework,可扩展差异化模糊测试框架)。Arnaboldi首先将每种编程语言都分解为最基本的函数,然后使用XDiFF向每一种语言进行多种类型的输入(即 payload)。
 
  Arnaboldi对此的解释如下:
 
  发现有趣的漏洞完全取决于如何选择正确的输入,在这次测试中,我使用了差不多30组原始值的组合,它们是数字、字母等和特殊的有效载荷的组合。
 
  之所以要和有效载荷组合,是因为它可以检测到应用程序何时会访问外部资源,并识别出本地文件内容、检测未授权代码执行并发现那些未授权的操作系统代码执行
 
  经过这些测试,他最后发现了5种解释型语言中的漏洞:
 
  1.Python 包含可用于操作系统命令执行的违规方法和本地环境变量。2.Perl 中包含能执行如eval()代码的typemaps函数。3.NodeJS 可以输出暴露部分文件内容的错误信息。4.JRuby会加载并执行一些远程代码,而这些代码的初始设计并不是执行远程代码。5.PHP常量中包含可被用于执行远程命令的名称。世界上没有一个APP是安全的
 
  Arnaboldi认为,一个经过严格训练的攻击者完全有可能利用这些编程语言的漏洞,对构建在其之上的所有应用程序发起底层攻击。
 
  Arnaboldi表示:
 
  我相信很多程序开发人员都不知道其中的这些漏洞,他们可能会在不知情的情况下,将漏洞编写在程序中。而由于目前的开发都是工业大规模化的,所以可以预测很多程序都会又被攻击的风险。
 
  现在,Arnaboldi已在 GitHub 上开源了XDiFF,另外php编码,他还发表了《通过差异化模糊测试技术来发现编程语言的隐藏行为》的论文。
 
  本文翻译自:bleepingcomputer.com/news/security/secure-apps-exposed-to-hacking-via-flaws-in-underlying-programming-languages/ ,如若转载,请注明原文地址: 4hou.com/info/news/9221.html 更多内容请关注“嘶吼专业版”——Pro4hou
 

(编辑:应用网_扬州站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!