亚洲精品中文字幕无乱码_久久亚洲精品无码AV大片_最新国产免费Av网址_国产精品3级片

php語言 百分網(wǎng)手機站

PHP漏洞:命令注入攻擊

時間:2020-10-10 18:58:44 php語言 我要投稿

PHP漏洞:命令注入攻擊

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

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

1.在PHP中阻止SQL注入式攻擊的方法

2.PHP的漏洞-如何防止PHP漏洞

3.PHP中該怎樣防止SQL注入

4.PHP常見漏洞的防范措施

5.PHP網(wǎng)站常見的安全漏洞

6.php中防止SQL注入的解決方法

7.PHP怎么執(zhí)行Linux系統(tǒng)命令函數(shù)

8.如何在dos命令下執(zhí)行PHP文件

9.php代碼如何實現(xiàn)命令行執(zhí)行