<address id="ousso"></address>
<form id="ousso"><track id="ousso"><big id="ousso"></big></track></form>
  1. php語言

    PHP漏洞:命令注入攻擊

    時間:2025-05-15 04:14:09 php語言 我要投稿
    • 相關推薦

    PHP漏洞:命令注入攻擊

      計算機程序中都會有漏洞,那么在PHP中該怎么防止注入攻擊呢?下面是小編整理的解決辦法,希望對大家有用,更多消息請關注應屆畢業生網。
      命令注入攻擊,PHP中可以使用下列5個函數來執行外部的應用程序或函數
      system、exec、passthru、shell_exec、“(與shell_exec功能相同)
      函數原型
      stringsystem(stringcommand,int&return_var)
      command要執行的命令
      return_var存放執行命令的執行后的狀態值
      stringexec(stringcommand,array&output,int&return_var)
      command要執行的命令
      output獲得執行命令輸出的每一行字符串
      return_var存放執行命令后的狀態值
      voidpassthru(stringcommand,int&return_var)
      command要執行的命令
      return_var存放執行命令后的狀態值
      stringshell_exec(stringcommand)
      command要執行的命令
      漏洞實例
      例1:
      //ex1.php
      $dir=$_GET["dir"];
      if(isset($dir))
      {
      echo"
      ";
      system("ls-al".$dir);
      echo"
      ";
      }
      ?>
      我們提交http://www.sectop.com/ex1.php?dir=|cat/etc/passwd
      提交以后,命令變成了system("ls-al|cat/etc/passwd");
      eval注入攻擊
      eval函數將輸入的字符串參數當作PHP程序代碼來執行
      函數原型:
      mixedeval(stringcode_str)//eval注入一般發生在攻擊者能控制輸入的字符串的時候
      //ex2.php
      $var="var";
      if(isset($_GET["arg"]))
      {
      $arg=$_GET["arg"];
      eval("\$var=$arg;");
      echo"\$var=".$var;
      }
      ?>
      當我們提交http://www.sectop.com/ex2.php?arg=phpinfo();漏洞就產生了;
      動態函數
      php
      funcA()
      {
      dosomething();
      }
      funcB()
      {
      dosomething();
      }
      if(isset($_GET["func"]))
      {
      $myfunc=$_GET["func"];
      echo$myfunc();
      }
      ?>
      程序員原意是想動態調用A和B函數,那我們提交http://www.sectop.com/ex.php?func=phpinfo漏洞產生
      防范方法
      1、盡量不要執行外部命令
      2、使用自定義函數或函數庫來替代外部命令的功能
      3、使用escapeshellarg函數來處理命令參數
      4、使用safe_mode_exec_dir指定可執行文件的路徑
      esacpeshellarg函數會將任何引起參數或命令結束的字符轉義,單引號“’”,替換成“\’”,雙引號“"”,替換成“\"”,分號“;”替換成“\;”
      用safe_mode_exec_dir指定可執行文件的路徑,可以把會使用的命令提前放入此路徑內
      safe_mode=On
      safe_mode_exec_dir=/usr/local/php/bin/

    【PHP漏洞:命令注入攻擊】相關文章:

    php防止SQL注入攻擊與XSS攻擊的方法07-01

    php防止SQL注入攻擊與XSS攻擊方法08-07

    PHP阻止SQL注入式攻擊的方法08-27

    php中sql注入與XSS攻擊的介紹11-10

    了解常見的php的sql注入式攻擊08-12

    php防止sql注入漏洞過濾函數的代碼08-22

    了解常見的php中sql注入式攻擊10-15

    在PHP中阻止SQL注入式攻擊的方法09-07

    PHP的漏洞-如何防止PHP漏洞09-05

    <address id="ousso"></address>
    <form id="ousso"><track id="ousso"><big id="ousso"></big></track></form>
    1. 日日做夜狠狠爱欧美黑人