move to [[PukiWiki(1.4.7)に編集制限をかけた任意のページにページを挿入できる脆弱性]]
* PukiWiki(1.4.7)に編集制限をかけた任意のページにページを挿入できる脆弱性 [#p1a09f63]

- ページ: [[BugTrack2]]
- 投稿者: 名無しさん
- 優先順位: 緊急
- 状態: 提案
- カテゴリー: 本体バグ
- 投稿日: 2007-08-01 (水) 10:12:15
- バージョン: 1.47

#contents

** メッセージ [#ec653210]
 編集制限をしていない場合は、任意のページをいつでも作ることができるので
ここでは、特に脆弱性とはいわない。

**【影響を受けるページ】 [#ye8303b7]
 PKWK_READONLY が0
 かつ
 付属のbugtrack.inc.php , tracker.inc.phpを残している

**【除外】 [#c8431525]
 PKWK_READONLY が1のサイトは影響は受けない。

**【問題のフォーム】 [#h87ce545]
|フィード名|フィールド値|h
|mode|submit|
|plugin|bugtrack|
|base|空欄以外の任意の文字 pagenameが存在しない場合base/番号になる|
|pagename|任意のページ名|

以下は任意項目である

|フィード名|フィールド値|h
|summary||
|priority||
|state ||
|version ||
|category ||
|body||

**【再現方法】 [#w64fb7ab]
pukiwiki.ini.php を編集し、認証を加える
     $edit_auth = 1;
     $edit_auth_pages["/.*/"] = '';
次にアクセスして、編集認証がかかっていることを確認する。

 <form method="POST" action="ここにURL">
   <input type="submit" value="送信" ><br>
   <input type="text" name="mode" size="20" value="submit"><br>
   <input type="text" name="plugin" size="20" value="bugtrack"><br>
   <input type="text" name="base" size="20" value="base"><br>
   <input type="text" name="pagename" size="20" value="pagename"><br>
   <input type="text" name="フィード名" size="20" value="フィールド値"><br>
 </form>

修正されていない場合は、
フォーム送信するとページができ編集制限が機能していないことがわかるだろう。


 ・そのほか、Edit入力フォームのページ<プラグイン(#commentや#article,#insert)>
   は、同様に、凍結されていても、Wikiコンテンツを書き込める脆弱性があるので注意されたい。

 ・また数MBの巨大フィールドを受け入れる、脆弱性も存在する
  Dos攻撃の対象とならないよう注意されたい。

*【原因】 [#y0cbf4e4]
+該当関数の_action関数で
check_editable関数を呼び出していないため。
+postサイズや中身を確認していないため

*【対策】 [#u869d0e3]
この問題についての、修正は2007.7 時点では出されていない。
   PKWK_READONLYを
   define('PKWK_READONLY', 1);
とすることで回避することをお勧めする。

phpの初級程度の知識があれば、該当プラグイン群を
1、2行の修正コードを挿入して、回避することも可能である。

*[[関連>PukiWiki/1.4/ちょっと便利に/任意のページごとの閲覧・編集制限/関連ページ]] [#l74bae8c]
#include(PukiWiki/1.4/ちょっと便利に/任意のページごとの閲覧・編集制限/関連ページ,notitle)
--------
- 認証関係の話、何度もでてきますねぇ。[[BugTrack2/197]]に追加でよかった気も...。 -- [[ぃぉぃぉ]] &new{2007-08-01 (水) 12:36:14};
- lib/file.phpのpage_writeでチェックしてしまえばほとんどOKですね。PKWK_READONLYのチェックしているところでやっちゃえば。 -- [[ぃぉぃぉ]] &new{2007-08-01 (水) 12:34:15};
-- commentとかも使えなくなるので、自分は「認証必要ページでも書き込みを許可するフラグ」を作って、使うプラグイン(comment等)でそのフラグを立てるようにして対応するかな。 -- [[ぃぉぃぉ]] &new{2007-08-01 (水) 12:33:54};
- 「凍結されていても、Wikiコンテンツを書き込める脆弱性」と書いてあるけど、書き込める「仕様」だったと思うんですが・・・ --  &new{2007-08-01 (水) 12:36:09};


#comment


トップ   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Site admin: PukiWiki Development Team

PukiWiki 1.5.4+ © 2001-2022 PukiWiki Development Team. Powered by PHP 5.6.40-0+deb8u12. HTML convert time: 0.066 sec.

OSDN