
一部のコードが複数のPHPファイルに挿入されているWebサイトがありますが、ファイル数が多すぎて手動で削除できません。
すべてのファイルに挿入されたコードから変数名を検索でき、影響を受ける変数のリストが提供されますが、実際のコードには二重引用符、一重引用符、およびすべての種類の文字が含まれているため、検索に入れることはできません。
私が検索に使用するものは次のとおりです。
grep -Ril "ljdcvhg" 'サイトフォルダパス'
php関数/注入コード全体を検索して削除する方法はありますか?私はLinuxに初めて触れました。
ここにハッキングされたコードを入れようとしましたが、許可されるかどうかはわかりません。
助けてくれてありがとう。
答え1
PHPベースのフロントエンドをハッキングした誰かがそこにコードを注入し、注入されたコードを直接整理しようとしました(後ろにフレームワークのクリーンなタールボールと私が修正したものにサイトを復元すると、実際の専門知識と回答を提供できます。この問題に対する唯一の実際の答えは、再起動することです。コードを整理するのは非常に難しいでしょう。どこにいても構いませんが、すべてを見つけることはできません。また、PHPだけでなく、コアシステム自体が注入され、難読化されたコードを通じてダウンロードされるマルウェアを実行している可能性があるため、システムが破損する可能性が高いです。
一般に、この状況で唯一の合理的なオプションと見なされる実証済みのソリューションは次のとおりです。Orbit *から削除し、クリーンなバックアップ(またはバージョン付きコード)から再起動してください。。サイトコードだけでなく、サーバー自体も同様です。 PHPサイトに挿入されたコードは、単純なポートスキャンからオペレーティングシステム自体の完全なマルウェアインストール、ルートキットまで、すべてを実行できます。そのため、再起動し、サイトがあるサーバーを消去してサイトコードベースを破壊し、クリーンなバージョン管理コードまたは最後のクリーンなバックアップから復元してください。
(TL; DR、挿入されたコードをすべて削除しようとしないでください。クリーンなサーバーで再起動し、バックアップまたはバージョン管理リポジトリデータから復元してください。)
私はまた、私たちの研究室の私のウェブサイトを破壊し、難読化されたコードを使用してホストサーバーにマルウェアをダウンロードする可能性があることを示しました。そして破損したサーバーにアクセスするクライアントの場合...これが環境を破壊し、クリーンなバックアップから再起動する必要がある理由です。その後、Web サイトにコードを挿入するために使用される脆弱性がパッチされます。
*これが何を意味するのかわからない場合は、「軌道から核を取り除く」という語句で、基本的にサイトをシャットダウンし、サーバーをシャットダウンし、ハードドライブ全体を消去し、サーバーを新しくインストールすることから始めます。そしてウェブサイトのコードベース。
答え2
次のことを試すことができます。
- PHPEclipse、PHP Storm、NuSphere、Notepad++、LinuxのKate、MacOSのTextMateなど、コードの書式設定機能を備えたプロのPHPエディタを使用してください。
- すべてのファイルから特定の文字列を検索して削除できます。
- 難読化されたコンテンツを表示するためにコード形式を再指定することもできます(HTMLを含むコード形式設定ツール)。
- また、強調表示されたコードを見ることができれば役立ちます。たとえば、正しく強調表示されていないコンテンツは難読化されたコンテンツです。
- すべてのコードを正しく読んでください。
- エディタは、コードがさらに悪用されないように保護するのに役立ちます。
- PNGまたはJPEG画像にPHPまたはJSコードがない場合は、すべてのファイル(写真を含む)が競合していることを確認する必要があります。
- PHPランタイムを最新のパッチを含むバージョンにアップグレードするか、最新のPHP7に移行して最新の状態に保つ必要があるかもしれません。
- Cloud Flare を使用して脆弱性から保護することができます。
- 別のホスティングを使用するか、アカウントを再作成することを検討できます。
- 時にはphp.iniを調整すると、制限と制約を適用することができます。
- カスタマイズされていないソフトウェアを使用した場合は、最新のパッチバージョンをダウンロードして既存のソフトウェアとマージしてパッチを適用できます。
- 時にはWordPressのように自動更新を有効にすることもできます。
また、サーバーが破損して再構築を試みる可能性があります。たとえば、仮想マシンを再構成します。
また、サイトをGitHubにアップロードしてヘルプをリクエストすることもできます。 GitHubから後で削除して同僚のレビューを受け取ることができます。データベースは必要ありません。これは確かに競争です。ログを読み、それがどのように悪用されたかを理解するのが最善です。
ウェブサイトが破損しても、必ずしもサーバーが破損しているわけではありません。 PHPコードに愚かなバグがあるからといって、悪用可能なカーネルの脆弱性があるという意味ではありません。
全体的にはエディタで編集して正しく確認した後、並べ替えて、結局はパッチもして、何か変わるたびにバックアップをしておかなければなりません。コマンドでソートできず、パッチが必要です。これには、grepを使用するのではなく、通常どおりソースコードで作業することが含まれます。