PHP オブジェクトインジェクション 脆弱性サマリー 脆弱性の概要 PHP オブジェクトインジェクション はアプリケーション層の脆弱性の一種であり、攻撃者がコードインジェクション、SQL インジェクション、パス移動(Path Traversal)、アプリケーションの拒否(DoS)などの悪意ある操作を実行することを可能にします。この脆弱性は、ユーザー入力に対して十分なサニタイズ(清浄化)が行われないまま、未セーフな PHP 関数(例: )に渡された場合に発生します。PHP はオブジェクトのシリアライズをサポートしているため、攻撃者は脆弱な 呼び出しに対して悪意のあるシリアライズされた文字列を渡すことで、任意の PHP オブジェクトをアプリケーションのスコープ内に注入できます。 影響範囲 条件: - アプリケーションには、悪意ある攻撃を実行する、あるいは「POP チェーン」を開始するために使用できる PHP マジックメソッド(例: や )を実装したクラスが含まれていなければなりません。 - 攻撃中使用されるすべてのクラスは、脆弱な が呼び出される時点で宣言されていなければならず、そうでない場合はオブジェクトのオートローディングのサポートが必要です。 修正方法 ユーザーが提供する入力の処理に 関数を使用しないでください。代わりに JSON 関数の使用を推奨します。 サンプルコード 例 1 例 2 例 3 関連する制御 入力検証 静的なコード解析 参考リンク PHP: unserialize PHP: マジックメソッド PHP: クラスのオートローディング PHP RFC: Secured unserialize() PHP での脆弱性を利用するためのショッキングなニュース Stefan Esser, POC 2009 PHP アプリケーションの脆弱性におけるコード再利用/ROP の活用 Stefan Esser, BlackHat USA 2010 カテゴリ インジェクション 編集 GitHub で編集 スポンサー Spotlight: Arnica コーポレートサポーター: GuidePoint、Guardsquare、Check Point、Bloomberg、SQL、Fortify、Adobe、SCSK プライバシーポリシー プライバシー サイトマップ お問い合わせ 著作権表示 OWASP、OWASP ロゴ、Global AppSec は登録商標であり、AppSec Days、AppSec California、AppSec Call、SnowFROC、OWASP Boston Application Security Conference、LASCON は OWASP Foundation, Inc. の商標です。別途指定がない限り、サイト内のすべてのコンテンツは Creative Commons Attribution-ShareAlike v4.0 に基づき、サービスまたは正確性に関する保証なしで提供されています。詳細については、一般的な免責事項を参照してください。OWASP は商業製品やサービスを推薦・推奨しておらず、世界中のソフトウェアセキュリティ分野の最優秀な頭脳たちの集団的知恵によって、コミュニティがベンダー中立性を保てるようにしています。著作権 2026、OWASP Foundation, Inc.