2017-10-04 80 views
0

我们使用敏度web-hook将预约数据发送到我们的软件。数据发送到下面的php文件。require_once在Web钩子事件之后不起作用某些数据

workflow.php

require_once($_SERVER["DOCUMENT_ROOT"].'/bitrix/header.php'); 
$cmd = 'echo "hii3" > debug.log'; 
echo "<pre>".shell_exec($cmd)."</pre>"; 
include($_SERVER["DOCUMENT_ROOT"]."/bitrix/footer.php"; 

如果我使用require_once然后触发没有去的header.php,但是当我使用包括再触发去的header.php。

+0

如果我使用require_once,那么触发器没有进入header.php,但是当我使用include时,触发器转到header.php._这是因为_require_不存在的文件会导致致命错误,其中include不是 –

+0

好神人,我看到这个剧本至少有2个可能的漏洞利用。此外,该文件可能不在您认为的位置。要求会投掷致命的。 – Andrew

+0

但是,我们使用include然后header.php执行,当我们使用require_once然后header.php不执行。我不知道为什么? – Sanj

回答

1

您可以使用

var_dump(file_exists($_SERVER["DOCUMENT_ROOT"].'/bitrix/header.php')); 

,以验证该文件确实存在。如果不是,require_once()会抛出一个错误。 除了include()和require()的行为是相同的。