security - Perl 解析器可以安全地解析任意代码吗?

标签 security parsing perl

我很难找到这个问题的权威答案。 Perl 5 解析器可以安全地解析任意代码吗?忽略运行或执行代码的影响,解析器本身是否安全?

解析器中允许执行任意代码的漏洞是否会被视为安全漏洞或错误?

似乎有一些票证被安全列表拒绝,并因解析器特定的错误而被推送到一般,

例如,a "Keeper of the Pumpkin" Tony Cook says,

I think in general we consider such issues as not a security concern, after all, if an attacker can provide code to the parser, you're already vulnerable.

具体来说,我试图澄清这两种威胁模型,

  • Safe 假设 Perl 能够正确生成黑名单/白名单操作码树
  • Perl (p5p) 假设所有解析都是通过任意代码执行的全部功能完成的,并且如果提供恶意代码,您“已经容易受到攻击”

问题

Would be interesting to know why you ask. Info on that could get you better answers.

如果 Perl 解析器无法安全地解析代码,那么我相信没有什么可以保护任意 Perl。因此,Safe.pm 和 OpCode.pm 的全部目的是没有意义的,因为您无法安全地生成要修剪的操作码树(黑名单操作码)。如果是这样,文档中的任何地方都不清楚,并且对此类事情保密是一个非常糟糕的主意。点名并开放软件进行利用将是危险的。

最佳答案

Is the Perl 5 Parser safe to parse arbitrary code?

没有。

BEGIN { print "This runs at parse time.\n" }

也无法禁用此行为,因为在解析时运行的代码可能会执行解析以下代码所需的操作,例如安装源过滤器或添加关键字。

关于security - Perl 解析器可以安全地解析任意代码吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49932576/

相关文章:

python - 正则表达式 - 抓取带有句点 1.1、1.1.1 等的部分

JavaScript 字符串解析

perl - Set::Scalar 宇宙如何工作?

mysql - 保护数据库内容

php - 使用 htaccess 使 PHP 文件上传安全

java - 解析SQL并替换Java中的参数

perl - 如何使用perl删除计算频率计算中的原始字符串

perl - 尝试使用 MAIL::IMAPClient 通过 IMAP 解析电子邮件中的文本和 html,但文本隐藏在部分和多部分中

ruby - 敏感数据加密 - DataMapper + Sinatra

javascript - jQuery(userInput) "safe"适合最终用户吗?