タグ

関連タグで絞り込む (2)

タグの絞り込みを解除

phpとcakephpに関するockeghemのブックマーク (5)

  • 【PHP】フレームワーク CakePHP 13ホール目【v2.0】 | ログ速@2ちゃんねる(net)

    ockeghem
    ockeghem 2012/03/07
    これだった>『原因はPDOStatement::getColumnMeta()でtable名が返ってこないためです』
  • CakePHPのSecurityComponentの脆弱性で任意のPHPコードが実行できる仕組み - disり用。

    もはや懐かしい感じのあるCakePHPセキュリティトークンから任意のPHPを実行できる脆弱性ですが、なぜこれで任意のPHPコードが実行可能になってしまうのか心配で夜も眠れない方の為に、実行される仕組みを解説してみようと思います。詳細とアドバイザリ、PoCは以下のものを参照しています。 http://co3k.org/diary/12 http://malloc.im/CakePHP-unserialize.txt http://malloc.im/burnedcake.py CakePHPSecurityComponentが提供するCSRF対策のトークンは単一の識別子ではなく、':' でトークンと$lockedという謎の値が繋がれたものになっています。$lockedには配列をシリアライズしたものをROT13で変換したものが入っています。この$lockedに任意の値を入れることで任意のP

    CakePHPのSecurityComponentの脆弱性で任意のPHPコードが実行できる仕組み - disり用。
    ockeghem
    ockeghem 2011/01/04
    解説ありがとうございます。際どい攻撃ですが、諸般の事情により成立してしまうところがなんとも
  • CakePHPのSecurityComponentに深刻なセキュリティホールが見つかりました

    すでにご存知の方も多いと思うのですが、CakePHPに深刻なセキュリティホールが見つかりました。 SecurityComponentの実装に問題があり、結果、外部から任意のコードを実行させることができるという深刻な内容です。 セキュリティホールの概要や攻撃手順については以下のエントリが詳しいですので、ご一読を。 CakePHPPHP コード実行の脆弱性を使って CakePHP を焦がす なお、今回の問題はSecurityComponentを利用していない場合は発生しません。 もしSecurityComponentを利用している場合は、以下のいずれかの方法で早急に対策してください。 1. CakePHP1.2.9 or 1.3.6にアップグレードする。 この脆弱性を受けて修正バージョンが出ています。 CakePHP 1.3.6 and 1.2.9 released | The Bake

    ockeghem
    ockeghem 2010/11/18
    脆弱性告知のお手本。影響内容、影響を受ける条件と判定方法が明快に説明されている。CakePHPユーザはすぐに読むべし
  • 第14回 CakePHP 1.2を使いたくなる5つの新機能 | gihyo.jp

    約1年ぶりとなった連載。これから数回にわたり、最新バージョン1.2にフォーカスして、技術動向をお届けします。 2009年1月、Cake PHP 1.2登場 前回の連載記事から約1年ぶりとなりました。この間、150人規模のCakePHPのイベントが開かれたり、多数のCakePHPの書籍が発売されたり、公式サイトのトップページが日語化されたりと日におけるCakePHPの「普及期」であったと言えるでしょう。 そして2009年の1月にはCakePHP 1.2のバージョン表記に待望の「Stable」表記が付けられました。Stableとは直訳で「安定した」という意味で、同一のバージョン系列上では互換性を大きく損なうような仕様変更は行われず、バグが無い状態を保っていることを(少なくともCakePHPでは)示します。なので、alphaやbetaとは安心感が格段に違います。今までに1.1を使ったことが

    第14回 CakePHP 1.2を使いたくなる5つの新機能 | gihyo.jp
  • CakePHP 比較演算子インジェクションに注意

    @deprecated この情報はCakePHP1.2betaまでのものです。1.2RC1についてはこの方法は有効ではありません。詳しくはCakePHP 1.2RC1からは比較演算子をキーに書くをどうぞ。 CakePHPのモデルで検索条件を指定する場合は比較演算子に注意が必要です。 検索条件では↓な感じで条件値の他にSQLの比較演算子を入れることができます。 <?php class UserController extends AppController { funtion index($id) { $id = is_numeric($id) ? $id : 0; // $id より大きなidを持つレコードを取得 $list = $this->findAll(array('id' => '> ' . $id)); $this->set('list', $list); } } ?> これを見

  • 1