カテゴリ | |
---|---|
サマリ | attachプラグインを利用したXSS対策後、attachrefプラグインにて動作不具合 |
バージョン | 1.4.5_1 |
投稿者 | oggy |
状態 | 完了 |
投稿日 | 2005-06-08 (水) 23:29:53 |
はじめまして、以下の問題が出たのでソース追いかけたりしてましたが、そろそろ自己能力の限界なので投稿してみました。 事象としては、attachプラグインを利用したXSS対策として「定数 PLUGIN_ATTACH_UPLOAD_ADMIN_ONLY の値を TRUE にする」との対処を行ったところ管理者パスワードを入力しての登録ができなくなりました。 (pukiwiki.ini.phpの記述ミスやパスワード入力時のタイプミス等はありません)
以下、この辺かなーと思ったところです。対応状況を見たところ1.4.3までの対応プラグインとのことで対象外かもしれませんが、ご確認よろしくお願いします。
入力されたパスワードをMD5暗号化
$pass = array_key_exists('pass',$vars) ? md5($vars['pass']) : NULL;
pkwk_loginをコールしている
} else if (PLUGIN_ATTACH_UPLOAD_ADMIN_ONLY && $pass !== TRUE && ($pass === NULL || ! pkwk_login($pass))) { return array( 'result'=>FALSE, 'msg'=>$_attach_messages['err_adminpass']);
暗号化前パスワードとpukiwiki.ini.php指定のパスワードを指定している
global $adminpass; if (! PKWK_READONLY && $pass != '' && md5($pass) == $adminpass) {
結果、MD5暗号化されたものがもう一度MD5暗号化に掛けられてしまう?
--- attachref.inc.php.orig 2005-07-24 01:25:06.000000000 +0900 +++ attachref.inc.php 2005-07-24 01:32:16.000000000 +0900 @@ -176,7 +176,7 @@ { return array('msg'=>'attach.inc.php not found or not correct version.'); } - $pass = array_key_exists('pass',$vars) ? md5($vars['pass']) : NULL; + $pass = array_key_exists('pass',$vars) ? $vars['pass'] : NULL; $retval = attach_upload($file,$vars['refer'],$pass); if ($retval['result'] == TRUE) {
やってることを見る限り大丈夫そうですけど。 -- okkez 2005-07-24 (日) 01:34:43