本篇文章給大家?guī)?lái)了關(guān)于PHP的相關(guān)知識(shí),其中主要介紹了關(guān)于PHP中一些常見(jiàn)的命令執(zhí)行函數(shù),利用命令執(zhí)行函數(shù)執(zhí)行操作系統(tǒng)命令,下面一起來(lái)看一下,希望對(duì)大家有幫助。
推薦學(xué)習(xí):《PHP視頻教程》
PHP命令執(zhí)行函數(shù)常配合代碼執(zhí)行漏洞使用, 利用命令執(zhí)行函數(shù)執(zhí)行操作系統(tǒng)命令, 從而發(fā)起攻擊, 接下來(lái)就簡(jiǎn)單分享幾個(gè)常用的PHP命令執(zhí)行函數(shù)
system();
system()函數(shù)可以執(zhí)行系統(tǒng)命令, 并將命令執(zhí)行的結(jié)果直接輸出到界面中, 使用時(shí)直接在參數(shù)中傳入需要執(zhí)行的命令即可
system('ls');
exec();
exec()函數(shù)可以執(zhí)行系統(tǒng)命令, 但它不會(huì)直接輸出結(jié)果, 而是將執(zhí)行的結(jié)果保存到數(shù)組中
exec( 'ls' , $result );
參數(shù)1: 字符串類型,需要執(zhí)行的系統(tǒng)命令
參數(shù)2: 數(shù)組類型,保存系統(tǒng)命令的執(zhí)行結(jié)果
print_r($result); //輸出執(zhí)行結(jié)果
shell_exec();
shell_exec()函數(shù)可以執(zhí)行系統(tǒng)命令, 但它不會(huì)直接輸出執(zhí)行的結(jié)果, 而是返回一個(gè)字符串類型的變量來(lái)存儲(chǔ)系統(tǒng)命令的執(zhí)行結(jié)果, 在參數(shù)中傳遞需要執(zhí)行的系統(tǒng)命令即可
echo shell_exec('ls');
passthru();
passthru()函數(shù)可以執(zhí)行系統(tǒng)命令, 并將執(zhí)行結(jié)果輸出到頁(yè)面中, 與system()函數(shù)不同的是, 它支持二進(jìn)制的數(shù)據(jù),