學(xué)做網(wǎng)站教學(xué)百度網(wǎng)盤外貿(mào)seo推廣
一、遠程命令執(zhí)行(RCE)
RCE漏洞概述?RCE漏洞允許攻擊者通過某種方式在目標服務(wù)器上執(zhí)行任意命令。這種漏洞通常出現(xiàn)在服務(wù)器端語言中,如PHP。
RCE漏洞原理?PHP中的一些函數(shù)可以執(zhí)行命令或代碼,但如果對這些函數(shù)的輸入未加限制,就可能引發(fā)RCE漏洞。
????????1.執(zhí)行PHP代碼的函數(shù)?以下函數(shù)可能存在RCE風(fēng)險:
$code =$_GET['code'];
eval($code); // 動態(tài)執(zhí)行PHP代碼
assert($code); // 斷言執(zhí)行PHP代碼
echo preg_replace('/test/e',$code,'hello test'); // 正則表達式執(zhí)行PHP代碼
- 執(zhí)行系統(tǒng)命令的函數(shù)?以下函數(shù)可用于執(zhí)行系統(tǒng)命令:
$cmd =$_GET['cmd'];
echo `$cmd`; // 反引號執(zhí)行系統(tǒng)命令
echo system($cmd); // system函數(shù)執(zhí)行系統(tǒng)命令
echo shell_exec($cmd); // shell_exec函數(shù)執(zhí)行系統(tǒng)命令
示例請求:http://192.168.10.111/day03/rcmd.php?cmd=whoami
- 命令鏈接符的使用
commend && 2commend
:邏輯與操作,前命令失敗則不執(zhí)行后命令。1commend & 2commend
:后臺執(zhí)行,兩個命令同時執(zhí)行。1commend || 2commend
:邏輯或操作,前命令成功則不執(zhí)行后命令。1commend | 2commend
:管道操作,將前命令的輸出作為后命令的輸入。
- RCE漏洞防御措施
- 避免使用危險的函數(shù)。
- 對用戶輸入進行嚴格的過濾和驗證。
二、文件上傳漏洞
-
文件上傳漏洞概述?文件上傳漏洞允許攻擊者上傳可執(zhí)行文件到服務(wù)器,進而執(zhí)行惡意代碼。
-
文件上傳漏洞利用?以下是基于upload-lab的學(xué)習(xí)筆記,展示了文件上傳漏洞的常見利用方法:
(1)前端檢查繞過?直接刪除表單的onsubmit事件。
(2)MIME類型驗證繞過?通過抓包工具修改上傳文件的Content-Type。
(3)黑名單限制繞過?使用黑名單中未列出的文件后綴名,如.php3、.phtml等。
(4)全面黑名單繞過?上傳.htaccess文件,修改服務(wù)器配置,使所有文件按PHP執(zhí)行。
SetHandler application/x-httpd-php
(5)大小寫繞過?利用服務(wù)器對大小寫不敏感的特性,上傳不同大小寫的文件后綴。
(6)空格和點繞過?在文件名末尾添加空格或點,利用Windows自動去除的特性繞過驗證。
- 文件上傳漏洞防御
- 使用白名單限制可上傳的文件類型。
- 對上傳文件進行重命名,避免使用用戶提供的文件名。
- 對上傳文件進行內(nèi)容檢查,確保其安全。