2017-10-04 79 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()的行爲是相同的。