您好,登錄后才能下訂單哦!
這篇文章主要介紹了php網(wǎng)絡(luò)安全中命令執(zhí)行漏洞怎么預(yù)防的相關(guān)知識(shí),內(nèi)容詳細(xì)易懂,操作簡(jiǎn)單快捷,具有一定借鑒價(jià)值,相信大家閱讀完這篇php網(wǎng)絡(luò)安全中命令執(zhí)行漏洞怎么預(yù)防文章都會(huì)有所收獲,下面我們一起來看看吧。
代碼層過濾不嚴(yán)。應(yīng)用程序直接或間接使用了動(dòng)態(tài)執(zhí)行命令的危險(xiǎn)函數(shù),并且這個(gè)函數(shù)的運(yùn)行參數(shù)是可控的
系統(tǒng)的漏洞造成命令注入
應(yīng)用有時(shí)需要調(diào)用一些執(zhí)行系統(tǒng)命令的函數(shù),當(dāng)服務(wù)器沒有嚴(yán)格過濾用戶提供的參數(shù)時(shí),就有可能導(dǎo)致用戶提交惡意代碼被服務(wù)器執(zhí)行,從而造成命令執(zhí)行漏洞。
1.system
2.exec()
3.shell_exec()
4.passthru()
5.popen()
6.反引號(hào)
1.繼承Web 服務(wù)器程序權(quán)限(Web用戶權(quán)限),去執(zhí)行系統(tǒng)命令
2.繼承Web服務(wù)器權(quán)限,讀寫文件
3.反彈Shell
4.控制整個(gè)網(wǎng)站
5.控制整個(gè)服務(wù)器
1、盡量少使用執(zhí)行命令函數(shù)或者禁用disable_functions
2、在進(jìn)入執(zhí)行命令的函數(shù)之前,對(duì)參數(shù)進(jìn)行過濾,對(duì)敏感字符進(jìn)行轉(zhuǎn)義
3、參數(shù)值盡量使用引號(hào)包括,并在拼接前調(diào)用addslashes進(jìn)行轉(zhuǎn)義
說明:能夠?qū)⒆址鳛镺S命令執(zhí)行,自帶輸出功能
測(cè)試參考代碼:
<?php if(isset($_GET['cmd'])){ system($_GET['cmd']); } ?> payload:?cmd=ipconfig
說明:能將字符串作為OS命令執(zhí)行,但無輸出,需要輸出執(zhí)行結(jié)果print。
exec() 默認(rèn)只輸出最后一行的數(shù)據(jù)
如果想讓他輸出全部結(jié)果,可以加一個(gè)參數(shù),即exec(ifconfig,$arr); print_r($arr);,如一句話木馬:<?php exec($_REQUEST[123],$arr);print_r($arr)?>
測(cè)試參考代碼
<?php if(isset($_GET['cmd'])){ print exec($_GET['cmd']); } ?> payload:?cmd=whoami
說明:執(zhí)行命令并以字符串的形式,返回完整的信息,但是函數(shù)無回顯,需要輸出執(zhí)行結(jié)果。
測(cè)試參考代碼
<?php if(isset($_GET['cmd'])){ print shell($_GET['cmd']); } ?> payload:?cmd=whoami
說明:執(zhí)行外部命令,與system()類似,但是該函數(shù)會(huì)直接將結(jié)果輸出,無需輸出執(zhí)行。
測(cè)試參考代碼
<?php if(isset($_GET['cmd'])){ passthru($_GET['cmd']); } ?> payload:?cmd=whoami
說明:能夠執(zhí)行OS命令,但是該函數(shù)并不是返回命令結(jié)果,而是返回一個(gè)文件指針
測(cè)試參考代碼
<?php if(isset($_GET['cmd'])){ $cmd=$_GET['cmd'].">>1.txt"; popen($cmd,'r'); } ?> payload:?cmd=whoami
說明:反引號(hào)[``]內(nèi)的字符串,也會(huì)被解析成OS命令
反引號(hào)背后執(zhí)行的代碼其實(shí)是調(diào)用了shell_exec(),所以禁用了shell_exec()同樣反引號(hào)也無法使用了。
測(cè)試參考代碼
<?php if(isset($_GET['cmd'])){ $cmd=$_GET['cmd']; print `$cmd`; } ?> payload:?cmd=whoami
關(guān)于“php網(wǎng)絡(luò)安全中命令執(zhí)行漏洞怎么預(yù)防”這篇文章的內(nèi)容就介紹到這里,感謝各位的閱讀!相信大家對(duì)“php網(wǎng)絡(luò)安全中命令執(zhí)行漏洞怎么預(yù)防”知識(shí)都有一定的了解,大家如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。