EC-CUBEの管理者パスワードを忘れた時

ひさしぶりにEC-CUBEをさわろうと
http://(EC-CUBEサーバーアドレス)/admin
にアクセス、ユーザー、パスワードを忘れた時
PHPをいじって、無条件に入れるようにしました
※本番環境では危険です

手元にあった、EC-CUBE 2.12.3でためしました

data/class/pages/admin/LC_Page_Admin_Index.php 85行目
if (SC_Utils_Ex::isBlank($this->arrErr))

if (! SC_Utils_Ex::isBlank($this->arrErr))
としたら、なんでもログインできるようになります


function action() {
    // パラメーター管理クラス
    $objFormParam = new SC_FormParam_Ex();

    switch ($this->getMode()) {
        case 'login':
            //ログイン処理
            $this->lfInitParam($objFormParam);
            $objFormParam->setParam($_POST);
            $this->arrErr = $this->lfCheckError($objFormParam);
            if (! SC_Utils_Ex::isBlank($this->arrErr)) { // ここを反転した
                $this->lfDoLogin($objFormParam->getValue('login_id'));

                SC_Response_Ex::sendRedirect(ADMIN_HOME_URLPATH);
            } else {
                // ブルートフォースアタック対策
                // ログイン失敗時に遅延させる
                sleep(LOGIN_RETRY_INTERVAL);

                SC_Utils_Ex::sfDispError(LOGIN_ERROR);
            }   
            break;
        default:
            break;
    }   
}

ログインできたら、パスワードを変更してPHPを元に戻したらいいですね

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください