av手机免费在线观看,国产女人在线视频,国产xxxx免费,捆绑调教一二三区,97影院最新理论片,色之久久综合,国产精品日韩欧美一区二区三区

php語(yǔ)言

PHP漏洞:命令注入攻擊

時(shí)間:2025-05-15 04:14:09 php語(yǔ)言 我要投稿
  • 相關(guān)推薦

PHP漏洞:命令注入攻擊

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

【PHP漏洞:命令注入攻擊】相關(guān)文章:

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

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

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

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

了解常見(jiàn)的php的sql注入式攻擊08-12

php防止sql注入漏洞過(guò)濾函數(shù)的代碼08-22

了解常見(jiàn)的php中sql注入式攻擊10-15

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

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