X

Computer

Uncaught Error: Call to undefined function get_user_attribute()

Uncaught Error: Call to undefined function get_user_attribute() で困っている方向けの情報です。以下の様なエラーでWordpressのJetPackの管理ページなどが使えなくなります。 [Mon Dec 05 10:05:51.204342 2016] [php7:error] [pid 1928…

ISO 27000の入力データ妥当性確認

セキュリティ標準では入力データの妥当性確認(入力バリデーション)が要求されています。具体的な方法はBS 7799(英国のJIS規格のような物、2000年に国際標準化)が作られた時(90年代後半)から記載されており、前の版までのISO 270001にも記載されています。2013年版のISO 27000ではセキュアプログラミングが普及したので具体的な方法などは省…

ホワイトリストの作り方

ホワイトリストの考え方/作り方は難しくありません。しかし、間違えていることが少なくないようです。 GoogleがCSP(Content Security Policy - ホワイトリスト型のJavaScriptインジェクション対策)の利用状況を調べたところ以下のような結果が得られました。 we take a closer look at the practi…

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

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の基本機能を使えば…

完全なSQLインジェクション対策

不完全なSQLインジェクション対策だけで、SQLインジェクション対策は万全、と誤解しているケースが少なくないです。 プリペアードクエリ/プレイスホルダを使ったSQLインジェクション対策でOK は誤りです。「とにかくプレイスホルダを使おう」では脆弱性は無くなりません。 簡単な証明:プリペアードクエリ”だけ”では、識別子(カラム/テーブル等)を使うソートクエリ、…

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

ソーシャルメディアフィンガープリントがまた話題になっているようです。ソーシャルメディアフィンガープリントとは何か?およびその対策です。 ソーシャルメディアに限らず、ログインをサポートしているサイトであれば、全て対象です。 (さらに…)

PHPスクリプトの分析ツール

PHPスクリプトを分析するツールをまとめたページの紹介です。 (さらに…)

根本的なセキュリティ対策とは何か?

セキュリティ対策において対策が「根本的」な対策であるかどうか?はあまり重要ではないです。セキュリティ対策において重要なのは対策が「効果的」であるかどうか、が重要だからです。 この基本を押さえた上で、ソフトウェアの「根本的な対策」とは何かを考えてみます。 (さらに…)

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

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