上へ

GAROP.NET

致命的なエラーをチェックするためにサイトと通信できないため、PHP の変更は取り消されました。
WordPress

致命的なエラーをチェックするためにサイトと通信できないため、PHP の変更は取り消されました。

2017/12/08 15:17:52

バージョン4.9のワードプレスでテーマファイルを編集すると「致命的なエラーをチェックするためにサイトと通信できないため、PHP の変更は取り消されました。SFTP を使うなど、他の手段で PHP ファイルの変更をアップロードする必要があります。」と表示されることがあります。 これはワードプレスのバー…

不正リクエストとヘッダインジェクションによるスパムメール中継
Security

不正リクエストとヘッダインジェクションによるスパムメール中継

2017/11/17 02:14:20

スパムメール中継とは、第三者が管理するメールサーバを踏み台にして不正なプログラムを送信させる攻撃です。管理者自身がログなどから気づくこともありますが、セキュリティ対策をしていなかったり、発見が遅れると、被害者であると同時に加害者にもなってしまうこともあります。特にメールサーバがスパムメールの踏台にさ…

コマンドインジェクション
Security

コマンドインジェクション

2017/11/16 07:52:06

ウェブサーバーのOSで使われるコマンドを注入する攻撃のことを言います。この攻撃は、system()、passthru()、exec()、popen()、shell_exec()などの関数を利用されることで発生します。OSコマンドインジェクションとも呼ばれていますが、この攻撃はOSのコマンドだけでなく…

ファイルアップロードの機能を利用した攻撃
Security

ファイルアップロードの機能を利用した攻撃

2017/11/16 07:50:39

ファイルアップロードを使った攻撃は、悪意あるコードを注入した不正ファイルをアップロードし、そのファイルにアクセスすることで成立します。この攻撃は、XSSを使って第三者に接続させる方法や攻撃する側が自らサーバにコードを注入して実行させる方法が知られています。 攻撃される場所 ファイルのアップロードが出…

パスディスクロージャとエラーレポート設定
Security

パスディスクロージャとエラーレポート設定

2017/11/15 01:16:16

パスディスクロージャはPHPスクリプトのフルパスがエラーレポートによって出力されてしまう性質を利用した攻撃のことを言います。意図的にエラーを発生させて、取得した情報を元に他の攻撃を受けることがあります。ただし、エラーレポートは本来、デバッグや開発の際に必要となるものです。 対処法 デバッグや開発終了…

セッションハイジャック
Security

セッションハイジャック

2017/11/14 05:41:00

セッションハイジャックは不正に取得したセッションIDを使って正規ユーザのセッションを乗っ取る攻撃を言います。乗っ取られると正規ユーザができる操作の全てが実行でき、大きな被害を生む可能性があります。 セッション固定攻撃によるセッションIDの漏洩 セッション固定攻撃は、強制的に任意の固定したセッションI…

変数汚染のリスク
Security

変数汚染のリスク

2017/11/14 05:32:00

変数汚染はグローバル変数やスーパーグローバル変数の値が改ざんされることを指します。外部からの受け取ったリクエスト値をそのまま変数展開させてしまう場合に発生します。セッション変数を改ざんされてしまった場合、コマンドを実行されたり、権限を与えてしまうといったリスクが高まります。 変数汚染の原因 古いバー…

インクルードの脆弱性
Security

インクルードの脆弱性

2017/11/14 05:27:26

インクルード攻撃では、リモートファイルインクルードと呼ばれる外部サーバのファイルを読み込ませる方法とローカルファイルインクルードと呼ばれるサーバ内部のファイルを読み込ませる方法が知られています。この手の攻撃を受けた場合、PHPのあらゆるコードが実行されてしまいます。 攻撃される場所 リクエストから受…

ディレクトリトラバーサル
Security

ディレクトリトラバーサル

2017/11/14 05:22:42

ディレクトリトラバーサルは、「../」を使ってディレクトリの上の階層に移動できるため、ウェブサーバのトップページの外側にあるファイルにも接続することが可能です。そのため、UNIX系のオペレーティングシステムではpasswdファイルなどの内容が漏洩します。 攻撃される場所 ディレクトリトラバーサルはリ…

Nullバイト攻撃対策
Security

Nullバイト攻撃対策

2017/11/14 05:17:40

PHPは、ファイルシステムに関わる処理においてC言語の関数を用いています。そのため、Nullバイト処理で挙動がおかしくなることがあります。 攻撃される場所 リクエストを$_POSTや$_GETなどで受け取ることで発生します。例えば不適切に処理された外部入力を受け付けるフォームなどが該当します。Nul…

evalを使った場合の危険性
Security

evalを使った場合の危険性

2017/11/10 04:56:36

preg_replace関数のe修飾子はPHP7以降で使えなくなっていますが、それより前のバージョンでは使えます。このe修飾子は、preg_replace関数において置換後のパターン文字列をPHPコードとして評価するという意味です。このようなe修飾子を使った関数やeval関数などは、受けとった文字列…

エスケープ文字のエンティティ
PHP

エスケープ文字のエンティティ

2017/11/08 04:32:28

エスケープ文字は、文字列の中で特別な意味を持つ文字を言います。エスケープ文字であるかどうかはその文字の前後関係によって決まります。htmlspecialchars()やhtmlentities()などは、特別な意味を持った文字をHTMLのエンティティへ変換するための関数です。エンティティは一般に文字…

SQLインジェクション
Security

SQLインジェクション

2017/11/07 23:06:44

SQLインジェクションとは SQLインジェクションはSQL文に意図しない命令を挿入することで成立します。その結果、データベース内に保存されているデータの改ざんや漏出を招きます。 攻撃される場所 適切にエスケープされてないフォームなど。 対処法 SQLインジェクションに対しても基本的にSQL文(命令文…

クロスサイトリクエストフォージェリ
Security

クロスサイトリクエストフォージェリ

2017/11/07 18:59:53

クロスサイトリクエストフォージェリとは クロスサイトリクエストフォージェリは、ログインしていることを前提とする攻撃で、正規のログインユーザと同等の権限を持って、正規ユーザの意図しない操作が行われます。 攻撃の入り口となる場所 例えば正規ユーザがログイン中に掲示板などに張られているリンクをクリックする…

クロスサイトスクリプティングとスクリプトインジェクションの違い
Security

クロスサイトスクリプティングとスクリプトインジェクションの違い

2017/11/07 08:19:57

スクリプトインジェクション攻撃とは スクリプトインジェクションは、攻撃者がJavaScriptやVBScriptなどを他人のホームページの内容に挿入することで、ホームページを訪問したユーザに対して、悪意あるスクリプトを実行させるという攻撃方法です。「script insertion」は直訳すると「ス…

配列同士の結合(マージ)
PHP

配列同士の結合(マージ)

2017/11/06 08:46:16

array_merge() array_merge()の構文は「array_merge(配列1 [, 配列2・・・]);」です。 array_merge()は複数の配列を結合します。前の配列の後部に次の配列を追加し、これを繰り返すことができます。この関数は一次元配列にのみ対応しています。配列のキーが…

変数名を使った配列操作
PHP

変数名を使った配列操作

2017/11/06 08:39:21

extract() extract()の構文は「extract(対象配列 [, 展開時の対処, [プレフィックス]]);」です。 extract()は対象配列のキーを変数名、それに対応する値を変数の値として処理します。数字のキーを使うには、プレフィックスをつける「EXTR_PREFIX_ALL」か「…

文字列を配列、配列を文字列に変換(explodeとimplode)
PHP

文字列を配列、配列を文字列に変換(explodeとimplode)

2017/11/06 08:31:01

文字列を配列に変換 explode() explode()の構文は「explode(区切り文字, 対象文字列 [, 最大分割数]);」です。 explode()は対象文字列を区切り文字で区切って、分割されたものを要素とする配列を返します。尚、explode()は正規表現が使えません。 実行結果: A…

配列要素の削除
PHP

配列要素の削除

2017/11/06 08:08:17

array_unique() array_unique()の構文は「array_unique(対象配列 [, ソート方法])」です。 array_unique()は、重複する値を見つけて削除します。第二引数はオプションで、デフォルトは文字列として比較する「SORT_STRING」です。他に数値として…

配列をコールバック関数で処理
PHP

配列をコールバック関数で処理

2017/11/06 07:58:26

array_filter() array_filter()の構文は「array_filter(対象配列 [, コールバック関数, [フラグ]]);」です。 array_filter()はコールバック関数がtrueを返した時、対象配列の現在のキーと値を含む配列を返します。 コールバック関数の引数には(…