溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

web命令執(zhí)行漏洞

發(fā)布時(shí)間:2020-07-02 03:22:06 來源:網(wǎng)絡(luò) 閱讀:2000 作者:天道酬勤VIP 欄目:安全技術(shù)


一,什么是命令執(zhí)行漏洞:


  應(yīng)用有時(shí)需要調(diào)用一些執(zhí)行系統(tǒng)命令的函數(shù),如PHP中的system、exec、shell_exec、passthru、popen、proc_popen等,當(dāng)用戶能控制這些函數(shù)中的參數(shù)時(shí),就可以將惡意系統(tǒng)命令拼接到正常命令中,從而造成命令執(zhí)行***,這就是命令執(zhí)行漏洞。



二,利用條件:


 1,應(yīng)用調(diào)用執(zhí)行命令的函數(shù)

 2,將用戶輸入作為系統(tǒng)命令的參數(shù)拼接到命令中

 3,沒有對用戶輸入過濾或者過濾不嚴(yán)格


三,漏洞危害:

 1,***者可以執(zhí)行命令獲取想要的信息

 2,***者可以拿下服務(wù)器



四,例子:


例子一:

代碼:

<?php
    $arg = $_GET['cmd'];    
    if ($arg) {
        system("$arg");
    }
?>


訪問:http://127.0.0.1/mingling/simple1.php?cmd=ping%20127.0.0.1

也就是執(zhí)行了“ping 127.0.0.1”命令

web命令執(zhí)行漏洞


例子二:

<?php
    $arg = $_GET['cmd'];    
    if ($arg) {
        system("ping -c 3 $arg");
    }
?>


訪問:http://192.168.25.107/simple2.php?cmd=127.0.0.1;pwd

執(zhí)行了pwd命令


web命令執(zhí)行漏洞






例子三:

<?php
    $arg = $_GET['cmd'];   
    
    if ($arg) {
        system("ls -al \"$arg\"");
    }
    
  ?>

訪問:http://192.168.25.107/simple3.php?cmd=/home%22;ifconfig%22

執(zhí)行了ifconfig命令

web命令執(zhí)行漏洞


例子四:

<?php eval($_REQUEST['code']);?>

當(dāng)訪問:http://192.168.25.107/simple4.php?code=phpinfo();

注意后面的分號,當(dāng)然后面也可以跟一句話***。

web命令執(zhí)行漏洞


例子五:

<?php
    $fun = $_GET['fun'];
    $par = $_GET['par'];
    $fun($par);
?>


當(dāng)訪問:http://192.168.25.107/simple5.php?fun=system&par=whoami

其實(shí)就相當(dāng)于是執(zhí)行了:

system("whoami")

web命令執(zhí)行漏洞



五:修復(fù)方案:

  1. 盡量少用執(zhí)行命令的函數(shù)或者直接禁用

  2. 參數(shù)值盡量使用引號包括

  3. 在使用動(dòng)態(tài)函數(shù)之前,確保使用的函數(shù)是指定的函數(shù)之一

  4. 在進(jìn)入執(zhí)行命令的函數(shù)/方法之前,對參數(shù)進(jìn)行過濾,對敏感字符進(jìn)行轉(zhuǎn)義

如:

<?php
    $arg = $_GET['cmd'];    // $arg = addslashes($arg);
    $arg = escapeshellcmd($arg);  //拼接前就處理
    if ($arg) {
        system("ls -al '$arg'");
    }?>


escapeshellcmd( )逃脫字符串中任何可能用來哄騙(trick)shell命令的字符串,此函數(shù)用來確定資料傳送到exec( )或system( )之前,由使用者輸入的任何資料已經(jīng)逃脫,標(biāo)準(zhǔn)的用法如下

Example :

<?php
   system(EscapeShellCmd($cmd));
?>


六:參考鏈接:


1,http://haojiawei.xyz/2017/03/15/%E5%91%BD%E4%BB%A4%E6%89%A7%E8%A1%8C%E6%BC%8F%E6%B4%9E/

2,http://www.jianshu.com/p/1e706f13b088


web命令執(zhí)行漏洞

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI