需要注意的幾個PHP漏洞小結

來源:互聯網
上載者:User

需要注意的幾個PHP漏洞
幾個重要的php.ini選項
  Register Globals
  php>=4.2.0,php.ini的register_globals選項的預設值預設為Off,當register_globals的設定為On時,程式可以接收來自伺服器的各種環境變數,包括表單提交的變數,而且由於PHP不必事先初始設定變數的值,從而導致很大的安全隱患.
  例1: 複製代碼 代碼如下:  //check_admin()用於檢查目前使用者許可權,如果是admin設定$is_admin變數為true,然後下面判斷此變數是否為true,然後執行管理的一些操作
  //ex1.php
  
  if (check_admin())
  {
  $is_admin = true;
  }
  if ($is_admin)
  {
  do_something();
  }
  ?>

  這一段代碼沒有將$is_admin事先初始化為Flase,如果register_globals為On,那麼我們直接提交 http://www.sectop.com/ex1.php?is_admin=true,就可以繞過check_admin()的驗證
  例2: 複製代碼 代碼如下:  //ex2.php
  
  if (isset($_SESSION["username"]))
  {
  do_something();
  }
  else
  {
  echo "您尚未登入!";
  }
  ?>

複製代碼 代碼如下:  //ex1.php
  
  $dir = $_GET["dir"];
  if (isset($dir))
  {
  echo "";
  system("ls -al ".$dir);
  echo "";
  }
  ?>


 mixed eval(string code_str) //eval注入一般發生在攻擊者能控制輸入的字串的時候
  //ex2.php 複製代碼 代碼如下:  
  $var = "var";
  if (isset($_GET["arg"]))
  {
  $arg = $_GET["arg"];
  eval("$var = $arg;");
  echo "$var =".$var;
  }
  ?>

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.