タグ

PHPとシリアライズに関するlax34のブックマーク (2)

  • PHP Object Injection Attack / PHPオブジェクトインジェクションの攻撃 - http80

    PHPオブジェクトインジェクション(PHP Object Injection)攻撃に関してまとめました。Webのインジェクション攻撃というと、SQLインジェクションやOSコマンドインジェクションなどが先に思い浮かびますが、PHPにはオブジェクトインジェクションと呼ばれるものがあります。 PHPにおけるオブジェクトインジェクションは、データのシリアライズに関係するunserialize関数を使用している場合、外部から安全でないシリアライズされた値が注入されることにより、脆弱性になりうる可能性があります。どのような影響があるかどうかは、コードの書き方によって様々です。 稿は、独自の検証、調べによるもののため、厳密には誤りであったり、そもそも違っているということがあるかもしれません。 ●脆弱性を再現するコード 簡単に脆弱性を再現するコードを用意しました。次の攻撃シナリオはローカルのhostsフ

    PHP Object Injection Attack / PHPオブジェクトインジェクションの攻撃 - http80
  • シリアル化とエスケープ処理 (php:serialize / unserialize) | サイト構築日記

    phpで「シリアライズ」したデータが「デシリアライズ」でエラーになる場合の注意点です。 現象 phpの連想配列内容をそのままCSV保存やDB登録したいので、php関数 「serialize」でシリアル化。そのシリアル化した文字列をphp関数 「unserialize」でデシリアライズするとエラー発生。 ※シングルクォーテーションなどの特殊文字対策としてエスケープ処理済 シリアル化 (シリアライズ) とは IT用語辞典「e-Wors」サイトから引用します。 シリアライズとは、ソフトウェア内部で扱っているデータを丸ごと、ファイルで保存したりネットワークで送受信することができるように変換すること。 これとは逆に、ファイルに保存されているシリアライズされたデータや、ネットワークを通じて送られてきたシリアライズされたデータを、ソフトウェアで扱うことのできる元のデータ形式に復元することを「デシリアライ

  • 1