ワードプレスでよくみられる脆弱性攻撃の用語集を簡単にまとめました。
この記事の目次
- クロスサイトスクリプティング(Cross-Site Scripting、XSS)
- 特権昇格(Privilege escalation)
- パストラバーサル・ディレクトリトラバーサル(Path Traversal,Directory Traversal )
- SQL インジェクション(SQL injection)
- クロスサイト・リクエスト・フォージェリ(Cross-Site Request Forgery)
- ファイルインクルード(ファイル組み込み)・ローカルファイルインクルード(File inclusion)
- PHP オブジェクトインジェクション(PHP Object injection)
- 認証バイパス・認証回避(Authentication Bypass)
- リモートコード実行(RCE Remote code execution)
- 非認証フックインジェクション(Unauthenticated Hook Injection)
- 機密情報暴露(Sensitive Information Exposure)
- SSRF攻撃・ブラインドSSRF攻撃(Blind Server-Side Request Forgery)
- コマンドインジェクション(Command Injection)
- ファイルアップロード(Arbitrary file uploads)
- サーバーサイドテンプレートインジェクション(Server Side Template Injection、SSTI)
- ワードプレスの様々な脆弱性を調べる
クロスサイトスクリプティング(Cross-Site Scripting、XSS)
クロスサイト・スクリプティング(XSS)とは、ハッカーが任意のウェブサイト上で任意の悪意のあるコードを貼り付け、被害者がそのウェブサイトを読み込んだときに実行させることができる脆弱性の事です。
悪意のあるコードは、いくつかの方法で被害者に実行させることができます。
最も一般的なのは、リンクのURLの末尾にその悪意あるコードを追加して被害者がそのリンクをクリックして飛んだ先のウェブサイトのページで脆弱性を利用してコードを実行させる方法です。
特権昇格(Privilege escalation)
特権昇格攻撃とは、システムに無許可で特権的アクセスをすることを目的としたサイバー攻撃です。攻撃者は、オペレーティング・システムやウェブ・アプリケーションにおける脆弱性を利用し、本来持っていないシステム上の特権を奪取して悪用します。
ワードプレスで言えば、購読者権限をより上の特権である管理者権限に脆弱性を利用して昇格させ、サイトの改ざん等の行為を行う事を指します。
パストラバーサル・ディレクトリトラバーサル(Path Traversal,Directory Traversal )
パストラバーサルとは、攻撃者がサーバ上の任意のファイルを不正に取得して、読むことを可能にする脆弱性です。攻撃者が読むことができるというのは下記のような事を言います。
・アプリケーションのコードとデータの取得と閲覧
・ワードプレスの設定ファイル、データベースの接続認証情報の取得と閲覧
・機密性の高いシステム・ファイルの取得と閲覧
場合によっては、攻撃者は上記の不正に取得したデータを使い、 最終的にはサイトを完全に乗っ取ることができるようになります。
SQL インジェクション(SQL injection)
SQLインジェクションは、最も一般的なWebハッキングテクニックの1つです。SQLインジェクション攻撃は、ウェブページの入力から、この脆弱性のあるプログラムを介してデータベース上で様々な処理を不正に行わせる攻撃です。
SQLインジェクション攻撃で可能となるハッキング攻撃には下記のようなものがあります。
・ユーザーのパスワードを書き換える。不正なユーザーを追加する
・コンテンツを書き換える
・データベースの情報を引き出す
・ログイン認証を回避する
・設定を書き換える
クロスサイト・リクエスト・フォージェリ(Cross-Site Request Forgery)
クロスサイトリクエストフォージェリ攻撃(CSRF)は、ユーザーを騙して、アカウントからの送金、メールアドレスやパスワードの変更、その他の望ましくないアクションなどのユーザーの行動を呼び出すために、ユーザーのサイト上の認証状態(ログイン状態)を利用して行われる攻撃です。
(サイト側はログインしているユーザーの正規の行動だと解釈しますが、実はハッカーが仕込んだ不正な行動をユーザーが気づかずに悪意あるプログラムを実行して、取らされている形になります)
管理アカウントに対する CSRF 攻撃が成功すると、サーバ全体が危険にさらされ、ウェブアプリケーションや API、その他のサービスが完全に乗っ取られる可能性があります。
ファイルインクルード(ファイル組み込み)・ローカルファイルインクルード(File inclusion)
ファイル・インクルージョンの脆弱性は、攻撃者が被害者のサーバ上のファイルを読み、時には実行することを許し、また、脆弱性によっては、攻撃者のマシン上に存在する不正なコードを実行することを許してしまう脆弱性になります。
PHP オブジェクトインジェクション(PHP Object injection)
この脆弱性は、PHP(ワードプレスのプログラミング言語) の unserialize() 関数にデータが渡される前に、 ユーザから与えられた入力が適切にサニタイズ(実行不可能な形式のデータに変換)されない場合に発生します。
攻撃者は脆弱な unserialize() にその場限りの不正なデータ文字列を渡すことができ、 その結果、任意の PHPの不正な処理を行うコードやデータがPHPプログラムに埋め込まれ、プログラム製作者が意図しない処理を実行させることができてしまいます。
認証バイパス・認証回避(Authentication Bypass)
認証バイパスとは、ログインのプロセスを回避して、本来必要なIDやパスワード等の確認を行っていないのに、ログイン状態にすることができ、そのユーザー権限(例えば管理者権限)でしかできない事をできてしまう脆弱性です。
リモートコード実行(RCE Remote code execution)
リモートコード実行(RCE)攻撃とは、攻撃者が組織のコンピュータやネットワーク上で悪意のあるコードを実行できる脆弱性のことです。
ワードプレスのPHPプログラムが送信データを適切に処理していない場合、攻撃者が悪意のある実行コードそのものを送信して、サーバー上で実行できてしまうような脆弱性を言います。
非認証フックインジェクション(Unauthenticated Hook Injection)
非認証フックインジェクションはワードプレス特有の脆弱性で、ワードプレスのフック(任意の処理に割り込む関数群)がテーマやプラグインに適切に実装されていない場合に、その脆弱性を突いて、十分な権限がないのに処理をサーバー上で実行できてしまうような攻撃の事を言います。
機密情報暴露(Sensitive Information Exposure)
機密情報暴露とは、個人情報、カード情報、知的財産などの重要な情報が開示されてしまう脆弱性を指します。この脆弱性は機密データの漏洩につながります。
ワードプレスでは、例えば、データベース接続情報や、登録ユーザーの情報、Eコマースサイトでは顧客の購買情報や、個人情報が漏洩する可能性を指します。
SSRF攻撃・ブラインドSSRF攻撃(Blind Server-Side Request Forgery)
サーバサイドリクエストフォージェリ(Server-Side Request Forgery)とは、攻撃者がサーバ側のアプリケーションが意図しない場所へのデータ送信(リクエスト)を行わせる脆弱性です。
よくあるSSRF 攻撃は、攻撃者が組織の内部だけのサービスに接続させたりする攻撃です。他には、攻撃者はサーバーを踏み台にして任意の外部システムに接続させることができるかもしれません。
ブラインドSSRFとは、攻撃者が標的のサーバーにリクエストを送ることはできるが、リクエストの結果についての直接的な応答やフィードバックを受け取れないシナリオを指します。攻撃者はサーバーの応答を知らない為、攻撃者が自分の行動の結果を直接見ることができないので、悪用するのがより難しいといえます。
コマンドインジェクション(Command Injection)
コマンド・インジェクションは、ワードプレスの脆弱性のあるプログラムを経由して、ホスト OS 上で任意のコマンドを実行することを目的とした攻撃です。
(つまりOSレベルのコマンドを実行できるという事になります)
ただ、共用サーバーの場合OSのコマンドの実行は制限がかかっている為、コマンドインジェクションでできる活動は限られます。
ファイルアップロード(Arbitrary file uploads)
ファイルアップロードの脆弱性は、攻撃者がサーバー上に悪意のあるファイルをアップロードすることを可能にするセキュリティ上の欠陥のです。
ハッカーはこの脆弱性を通して、サイトのデータやファイルを改ざんできるバックドアなどの危険なプログラムをサーバー上に設置できてしまう可能性があります。
サーバーサイドテンプレートインジェクション(Server Side Template Injection、SSTI)
サーバーサイド・テンプレート・インジェクションとは、特定プログラムのテンプレート構文(任意のルールでテキストの置き換えや変数の値を埋め込むそのプログラム群特有の構文の事です)を利用して悪意のあるプログラムをそのテンプレートに注入し、サーバーで実行させることです。
このようなテンプレートエンジンは、サイト表示用のテンプレートとその場限りで使用されるデータを組み合わせてウェブページを生成するように設計されています。サーバーサイド・テンプレート・インジェクション攻撃は、ユーザー入力がデータとして渡されるのではなく、テンプレートの中のプログラムに直接連結される場合に発生する場合もあります。これにより、攻撃者はテンプレートエンジンを操作するために任意のテンプレート実行構文を注入することができ、サーバを完全に制御することが可能になる場合もあります。
ワードプレスの様々な脆弱性を調べる
下記のプラグインでワードプレスのプラグイン等の脆弱性を簡単に調べることができます。
是非ご利用ください。
【無料】ワードプレス:マルウェアスキャン&セキュリティープラグイン [マルウェア・ウィルス検出と駆除・脆弱性検査]
WordPress ワードプレスサイトのマルウェア検査駆除・セキュリティー対策に関するご相談・ご依頼はWPドクターまでお気軽にお送りください