【发布时间】:2021-03-22 10:25:01
【问题描述】:
首先,作为背景,我试图在创建新实体时加密我们在服务器上的数据。这是在起源于 Perl CGI 系统的遗留系统上,并且有一个单独的部分是 PHP。 Perl 部分创建组,后来实现 PHP 对其进行加密。
我正在尝试从 Perl CGI 文件执行 PHP 加密脚本。我试过使用:
exec("/path/to/file arg1 arg2")system("/path/to/file arg1 arg2")backtick operator /path/to/file arg1 arg2open ("/path/to/file arg1 arg2 |)
我也尝试过直接指向 /bin/php 并将文件作为参数传递给每个案例。到目前为止,我唯一发生的事情是:
- 打印 exec/system... 的输出以文本形式生成 Perl 文件(甚至不是 php 文件),我在其他任何地方都没有看到过这种情况,但我所看到的只是 Perl,不是 CGI 和 Perl。
- 没有数据。如果我输出 $!从 Perl 我在使用系统时遇到非法搜索错误,但其他人将其留空。它们都返回 0,就好像 exec/system/... 已经运行一样,但服务器端没有任何变化。
根据我在网上阅读的内容,我认为 CGI 可能以某种形式运行的“受保护”模式会禁用某些文件上的 exec/system/open/backtick 命令,但不确定这是否是问题所在。据我所知,没有迹象表明权限受到限制。如果有人有任何见解,将不胜感激。如果您需要更多信息,请告诉我。
【问题讨论】: