カテゴリー別アーカイブ: PHP

セッションデータインジェクション

PHP 5.6.25/7.010以降で修正されたセッションデータインジェクション

  • Fixed bug #72681 (PHP Session Data Injection Vulnerability). (CVE-2016-7125)

の解説です。

この脆弱性を利用するとオブジェクトインジェクションが簡単に行えます。結構深刻な問題ですが、あまり話題にはなっていないように思います。

続きを読む

プライベートサイトを作るならPHPのURL Rewriterを使う

クロスサイト・リクエスト(他のWebサイトから自分のサイトへURLリンクやPOSTでアクセスする)を制限したいWebアプリケーションは結構あります。例えば、ホームルーターの管理ページを作る場合、クロスサイト・リクエストは有用などころか有害です。ホームルーターの管理ページにはクロスサイト・リクエストによる脆弱性が多数報告されています。

PHPの基本機能を使えば、クロスサイト・リクエストを簡単かつ丸ごと拒否することができます。CSRFやXSS1を完全かつ簡単に拒否する仕組みを作れます。

続きを読む

ソーシャルメディアフィンガープリントとその対策

ソーシャルメディアフィンガープリントがまた話題になっているようです。ソーシャルメディアフィンガープリントとは何か?およびその対策です。

ソーシャルメディアに限らず、ログインをサポートしているサイトであれば、全て対象です。

続きを読む

PHPのheader関数とheaders_remove関数の注意点

PHPのheader関数とheader_remove関数の注意点です。あまり使わないと思いますが、Set-Cookieヘッダーや他のヘッダーで注意しないと問題になります。普段はsetcookie関数でクッキーを設定していてたまたまheader関数でクッキーを設定した、という場合にheader関数とsetcookie関数の仕様の違いにより、思ってもいない結果になります。

続きを読む

WordPress + HTTPS + リバースプロキシ = このページにアクセスする権限がありません。

リバースプロキシ環境で結構ハマったのでブログにします。結論から書くと、WordPressのドキュメント

Note: FORCE_SSL_ADMIN should be set before wp-settings.php is required.

wp-settings.phpを読み込む前にFORCE_SSL_ADMINは定義しなければならない、と書いてありますがSSL関係の設定は全てこれの前に書かないと動作しません。

続きを読む

PHPへのメールヘッダーインジェクション

メールヘッダーインジェクションによる攻撃は一昔前に流行った攻撃です。最近ではあまり聞きませんが、PHPのmail/mb_send_mail関数はメールヘッダーインジェクションに対して十分に安全でしょうか?

実は十分に安全と言える対策は最近になって追加しました。1つは随分前に、もう1つは最近修正しています。それらの修正を紹介します。

続きを読む