最近、異常に質の悪いフィッシングメールを受け取りました。 「私たちがあなたの銀行なので、次のリンクからすぐにサインインしてください」と思います。リンクは、末尾に.php
が付いた説得力のないURLを指しています。
与えられたページの外観を偽ってフォームに入力されたデータを送信するのではなく、なぜPHPスクリプトを使用するのか?.
リンクをクリックして実際に確認したくありませんが、これが何であるかを知りたいと思いますPHPファイルが実行しようとしています。スクリプトをダウンロードする方法などはありますかあなたがクライアント側のJavaScriptでできるように?
または、サーバーによって実行されているため、PHPファイルにアクセスできませんか?
このファイルとその動作を危険なく分析する他の方法はありますか?
サーバーが正しく構成されている場合、PHPファイルをダウンロードできません。Webサーバー経由で呼び出されたときに実行されます。サーバーの機能を確認する唯一の方法は、SSH経由でサーバーにアクセスすることですまたはFTPまたはその他の方法。
これは、PHPがサーバーサイド言語であり、すべてのアクションがサーバー上で実行され、その後結果がブラウザに送信されるためですclientサイド)。
システムを台無しにするのが怖い場合は、VirtualboxをUbuntu VMで使用し、そこからページを開くことができます。VM =インストール後、危険な作業を行う前に、後でそのスナップショットに戻って、スクリプトがVMに対して実行したことをすべて取り消すことができます。
他の人が言ったように、PHPファイルはサーバー側で実行されますが、サーバーが非常に正しく設定されていないため、単にソースを提供する場合を除きます。
クライアントに送信される内容を調べて、何も問題が発生する可能性がない場合は、メモ帳などのテキストエディタを使用してURLを開きます。つまり、File → Open
しかし、実際のファイルではなくURLを開きます。
サーバーは要求を解釈し、通常送信するものをブラウザーに送信します。あなたのテキストエディタはそれを受け取りますが、編集する場合、テキストエディタができることは表示だけです。実行されるブラウザやその他のレンダリングエンジンに近づくことはありません。
_.php
_ファイルはサーバー側で実行されるため、残念ながらソースコードを取得する方法はありません。ただし、試すことができるのは、システム管理者が間違いを犯したことを期待してURLを操作することです。
ユーザーがhttp://www.example.com/index.phpにアクセスすると、Webサーバーは_/usr/bin/php
_から_index.php
_ファイルを実行して_/var/www/html
_を実行し、HTML応答を生成します。 )__。
通常、Webサーバーは_.php
_ファイルのみを実行するように構成されているため、_.jpg
_またはその他の種類のファイルは通常どおり提供されます。
ただし、忘れやすいシステム管理者がバックアップのために_.php
_ファイルのコピーを作成した場合、_/usr/bin/php
_によって実行されなくてもコピーを取得できる可能性があります。
したがって、システム管理者が_/var/www/html/index.php.bak
_としてコピーを作成した場合、ブラウザでhttp://www.example.com/index.php.bakにアクセスして、ソースコードをダウンロードできます。
これらの残りのファイルを見つけるのは面倒な作業なので、自動化されたURLファジングツールを確認することをお勧めします。
最後に、curl
を使用してこれらの実験を行うことをお勧めします。これは、JavaScriptまたはFlashがマシンで実行されないためです。
いいえ、PHPがサーバー上で実行されるため、できません。終了
方法がありますifサーバーにLFIエクスプロイトが含まれている場合: https:// www.owasp.org/index.php/Testing_for_Local_File_Inclusion 。
ただし、サーバーが適切に設定されていれば、PHPファイルをダウンロードできません。
私は最近、私が継承したプロジェクトでこれにパッチを適用する喜びを持っていました。 PHPスクリプトを直接ダウンロードして、$_GET[]
どちらが重要か。
本当のことを言えば、可能性のあるエクスプロイトがあるという幸運が必要です。また、サーバーのファイルシステムの構造を把握する必要があります(つまり、対象となるスクリプトの相対パスはLFIの脆弱性を含むスクリプト)したがって、サーバーの探索を計画している場合は、サンドボックス/ VMを使用します。 Gustavo Rodriguesからのコメントで示唆されているように、サーバーの構成が実際に適切でない場合は、運が良いかもしれません。
あなたはHTTP経由でできません
A)ファイルに書き込まれたPHPコードは、httpクライアントに送信される前に、httpサーバーによってファイルから削除されます
したがって、HTMLフォームは、phpスニペット、phpタグで囲まれたコードを含むblah.phpを参照する場合があります。これにより、送信されたpassword = 1234かどうかがチェックされますが、blah.phpをwgetすると、そのコードは表示されません。 (phpをサポートするWebサーバーで、他のファイルを受信するようにリダイレクトせずに、blah.phpを直接取得できたとしても、実際には、取得しているサーバー上のblah.phpではありません)。これは、サーバーによって処理されたblah.phpで、phpコードが削除され、phpが出力したものに置き換えられます。または、クライアント側のコード(html/javascript)を使用して、決定されたphpコードを表示する必要があります。
そして
B)HTTPサーバーのphpモジュールが任意のphpを実行し、クライアントに送信する結果のファイルを生成します。
ちなみに、技術的にはサーバー上のHTMLファイルにPHPを含めることができます。 PHPファイルはHTMLファイルよりも危険です。PHPコードはサーバー処理を行い、HTMLファイルにある他のクライアント側のものを出力します。 HTMLやクライアント側のJavaScriptなど。