HTML
 Computer >> コンピューター >  >> プログラミング >> HTML

ファイル インクルージョンと任意のコード実行とは?

ファイルの組み込みと任意のコードの実行: 今月初め、WordPress で構築された航空券の Web サイトがハッキングされ、数十万人の訪問者の個人データが流出しました。ハッカーがハッキングする理由に関する以前の投稿では、ハッカーがデータを盗んだり、スパム メールを送信したり、ブラック ハット SEO 手法を使用して自社製品をランク付けしたりするなど、ハッカーがハッキングするすべての理由について説明しました (推奨される読み取り – 医薬品ハック) など

ハッカーが Web サイトをハッキングする方法を知ることは、ハッカーを防ぐための鍵となります。そのため、以前の記事で WordPress Web サイトで行われる最も一般的なハッキング攻撃を挙げました。

一般的なハック攻撃について話すとき、ブルート フォース攻撃について考える可能性が非常に高くなります。しかし、WordPress Web サイトで行われる最も一般的なハッキング攻撃の 1 つは、ファイル インクルードと任意のコードの実行であることをご存知でしたか。この投稿では、これらの攻撃を詳しく理解するために、これらの攻撃についてもう少し詳しく説明します。

これらの攻撃がどのように機能するかを理解するために、最初に知っておくべきことは、PHP ファイルが関与していることです。 なぜだろう?これは、ファイル インクルージョン攻撃と任意コード実行攻撃の両方に PHP ファイルの使用が関係しているためです。

しかし、PHPファイルとは何ですか?キッチンキャビネットを考えてみてください。キャビネットの中には、砂糖、塩、香辛料、調理器具などのアイテムがたくさんあります。これらのアイテムにはそれぞれ、キッチンで使用する目的があります。 PHP ファイルはキャビネットであり、ファイル内のコードは、ハッカーが必要とする特定の機能の実行を可能にするアイテムです。 これが、ハッカーが JPEG や PDF ファイルなどの他のファイルよりも PHP ファイルをアップロードすることを好む理由です。 JPEG および PDF ファイルは実行可能ではありません。つまり、ハッカーはこれらのファイルを使用して機能を実行することはできません。それらを読み取る(つまり、表示する)ことしかできません。ハッキングされたサイトに変更を加えるために使用することはできません。

Web サイト サーバーに PHP ファイルをアップロードしたハッカーは、それを使用して Web サイトであらゆることを行うことができます。これが、ファイル インクルージョン攻撃や任意コード実行攻撃に PHP ファイルが使用される理由です。

ファイル インクルージョン攻撃とは?

このような複雑な Web サイト攻撃を理解する最善の方法は、実際のシナリオを例証することです。あなたの教育機関の Web サイトを運営していて、そのサイトの名前が college.com であるとします。最近の大学のイベントで撮影した写真を投稿できるように、少数の学生にサイトへのアクセスを許可します。誰かがあなたのアクセス権を悪用し、悪意のある PHP ファイル (hack.php という名前) を Web サイトにアップロードします。目標は、大学の Web サイトを制御することです。学生が悪意のある PHP ファイルをアップロードすると、デフォルトで Upload フォルダに保存されます。 知っている人なら誰でも WordPress の基本構造 アップロードされたファイルがどこにあるかを知っています。

ファイル インクルージョンと任意のコード実行とは?
テーマまたはプラグインは Upload フォルダに保存されます。 WordPress の構造を知っている人なら誰でも Upload フォルダーの場所を知っています。ご存じない方のために説明すると、アップロード フォルダーはここにあります。 Web Hosting cPanel から File Manager を開き、Public_html> wp-content> uploads に移動します。

ファイルは、ハッカーがリモートでファイルと対話できるようにするドアのように機能します。ハッカーはまだサイトを制御できないことに注意してください。彼らにはコミュニケーションの窓口があるだけです。分かりやすくするために、A という人が、自分が許可されていない国に行きたいと考えていると想像してください。そこで彼はエージェント、人物 B を送ります。人物 A はハッカーで、国は大学のウェブサイトを表し、人物 B は hack.php ファイルを表します。

大学の Web サイトにアップロードされた PHP ファイル —-> ファイルは Web サイト サーバーに保存されます

人物 B は、いくつかのことだけを訓練されており、できることは限られています。そのため、A さんは次に何をすべきかを彼に指示する必要があります。同様に、PHP ファイルは通信ウィンドウを作成し、ハッカーからのコマンドを待ちます。

より多くのファイルを Web サイトにアップロードできるように hack.php が作成されているとします。ハッカーは、Web サイト サーバーに既に存在する hack.php を使用してアップロードするファイル (control.php という名前) を作成します。新しいファイル control.php により、ハッカーは Web サイトに完全にアクセスできるようになります。彼は、hack.php ファイルによって提供されるウィンドウを使用して、control.php ファイルをサイトにアップロードします。 Web サイト サーバーに既に存在するファイル (hack.php) を使用して control.php ファイルをアップロードするこのプロセスは、ローカル ファイル インクルージョンと呼ばれます .

ローカル ファイル実行の好例の 1 つは、Easy Forms for MailChimp WordPress プラグイン (v 6.0.5.5) で観察された脆弱性です。 MailChimp プラグインを使用すると、Web サイトの所有者は、WordPress サイトにさまざまな種類のフォームを追加できます。 脆弱性により、ハッカーは MailChimp フォームを使用して PHP ファイルをウェブサイト サーバーにアップロードできました。 ファイルが Web サイト サーバーに保存されると、ハッカーはファイルと通信してコードを実行し、さまざまな方法でサーバーを制御したり、サイトに損害を与えたりすることができました。

シナリオは次のとおりです。大学の Web サイトにはファイアウォールがインストールされているため、ハッカーは control.php をアップロードできません。別の個別のファイルをアップロードすることはできませんが、ファイルを「含める」ことはできます。これは、大学の Web サイト サーバーに既に存在する hack.php ファイル内にファイルを挿入できることを意味します。ハッカーが control.php ファイルをアップロードできた場合、Web サイト サーバーはファイルを読み取り、内部のコードを実行して、ハッカーがやりたいことを何でもできるようにします。しかし、ファイルをアップロードできないため、サーバーに control.php ファイルを読み取らせる別の方法を見つける必要があります。ハッカーによって作成されたパスはオンラインで入手でき、大学の Web サイトのサーバーはそれを読み取ることができるはずです。したがって、ハッカーはパスを作成し、オンラインで利用できるようにして、大学の Web サイト サーバーがそれを読み取ることができるようにします。次に、サーバーはパスから取得したコードの実行を開始します。コードは、ハッカーがサイトを完全に制御できるように記述されているため、ハッキングは大学の Web サイトを制御します。サーバーにリモート ファイルを読み取らせるこのプロセスは、リモート ファイル インクルージョンと呼ばれます。

ファイル インクルージョンと任意のコード実行とは?
TimThumb 攻撃がどのように行われたかを示す例

TimThumb の脆弱性のケースは、リモート ファイル インクルージョンの一般的な例です。 TimThumb は、WordPress サイトの画像を簡単に編集できる WordPress プラグインでした。これにより、imgur.com や flickr.com などの画像共有 Web サイトから入手した画像を誰でも使用できるようになりました。 TimThumb は、imgur を有効なサイト (またはホワイトリストに登録済み) として認識します。この基準を利用するハッカーは、https://www.imgur.com.badsite.com のような有効なサイトに言及している URL を含むファイルを作成します。 上記のような URL を持つ悪意のあるファイルをアップロードすると、プラグインはそのファイルが有効な Web サイトからのものであると信じ込ませます。 また、悪意のあるファイルを Web サイトのサーバーにアップロードすることもできます。プラグインの脆弱性を利用して Web サイト サーバーの外部から悪意のあるファイルを含めるこのプロセス全体が、リモート ファイル インクルージョンです。悪意のある PHP ファイルが Web サイト サーバーに保存されると、ハッカーはそのファイルと通信して目的のアクションを実行できます。

任意コード実行攻撃とは?

リモートおよびローカル ファイル インクルージョンとは何かがわかったので、次に進み、任意コード実行とは何かを理解してみましょう。ファイルの組み込みと任意のコードの組み込みは相互に関連しています。ファイル インクルージョンのいずれの場合でも、ハッカーの目的は Web サイトで任意のコードを実行することです。ハッカーが大学の Web サイトに hack.php をアップロードし、hack.php を使用して control.php をアップロードしたローカル ファイル インクルージョンの例に戻りましょう。 任意のコード実行という言葉は、ハッカーがハッキングされた Web サイトで任意のコマンドを実行できることを表しています。 PHP ファイル (hack.php と control.php) が Web サイト サーバーにアップロードされると、ハッカーは任意のコードを実行できます。彼がアップロードしたファイルから任意のコードを実行するこのプロセスは、任意コード実行と呼ばれます。
ハックは複雑です。この投稿では、簡単に説明するように努めましたが、意味をなさない部分があれば、読者にお知らせください。次の投稿では、クロスサイト スクリプティング (XSS) と呼ばれる、WordPress サイトに対する別の一般的なハッキング攻撃について説明します。見てください。


  1. Cプログラムを機械語に変換する4つのステップは何ですか?

    プログラムの作成と実行のプロセス プログラムには、プログラミング言語で記述された一連の命令が含まれています。 プログラマーの仕事は、プログラムを作成してテストすることです。 「C」プログラムを機械語に変換する4つのステップは&miuns; プログラムの作成と編集 プログラムのコンパイル プログラムのリンク プログラムの実行 プログラムの作成と編集 「テキストエディタ」はプログラムの作成に使用されます。 テキストエディタを使用して、ユーザーは文字データを入力、変更、および保存できます。 多くの場合、すべての特別なテキストエディタがコンパイラに含まれて

  2. PHP コード実行の危険にさらされている WordPress サイト

    WordPress サイトは、その大規模なユーザー ベースと幅広い機能により、常にインターネット詐欺師の標的となってきました。脆弱なプラグインを使用している、最新バージョンにタイムリーに更新していない、パッチを定期的に適用していない、およびセキュリティ対策の不注意が、WordPress サイトに対する多数の攻撃の主な理由です。 WordPress のインストールが完了していないため、世界で最も人気のある CMS となっています。WordPress は PHP コード インジェクション攻撃に対して脆弱であり、2017 年 6 月には 720 万回以上の攻撃がありました。構成されていません。この