私はクライアントのWebサイトで作業していますが、クライアントが侵害されていることに気づきました。今日の初めに、phpに大きな問題がありましたeval(base64_decode
問題。 Andy Stratton clean.phpの修復(感染ファイルを検索して削除)によってクリーンアップされました。virginWordpressコードと信頼できるテーマでWebサイトが再構築されました。 。12時間後、多くの不要なリダイレクトが表示されます。リダイレクトは海外の奇妙なサイトに移動します。実際、リダイレクトは正しい用語ではない可能性があります。元のサイトのコンテンツがすべてデベロッパーツールに読み込まれているのを確認できます、ロードの最後に画像と音楽プレーヤーを取得し、シンプルなHTMLページを貼り付けます。画像はhttp://i.hizliresim.com/g4rXl2.png
表示されたURLは、サイトで選択された元のURLです。
少しテストを行ったところ、問題はJavaScriptに関連しているようです。 JSをオフにすると、リダイレクトされません。ここに私の質問があります:ChromeでJSツールを使用して、最も疑わしいファイルを特定できますか?(例外で一時停止するなど))すべてのファイルをスキャンして確認する方法はありますか?悪質なJSコードの場合?一般的なツールと場所を確認してみましたが、何の役にも立たず、.htaccessの問題ではありません。
Chrome=のJavaScriptコードをステップ実行して、どこが間違っているかを確認できるかどうか非常に興味があります。これに対する修正は、VPSをワイプして再インストールすることだと思いますが、その間、私は好奇心旺盛です。悪のコードがどこにあるのかを検出できますか?
また、サーバーへの完全なアクセス権はありません。簡単なcPanelとFTPアクセスしか持っていません。さらに、サイトはCloudFlareを通じて提供されています。ご協力いただき誠にありがとうございます。
更新:誤ったコードがどこにあるのかがわかりました。それは、通常ウィジェットコンテンツ用に予約されているセルのmySQLデータベースにありました。コードは非常に大きく、1530行のゴブリングックでした。いくつかの単語は平文で、他の単語は暗号コードです。 :と;を使用したコードで非常に難読化されています。要素。どうやらこの顧客は以前に打撃を受けたことがあり、彼らの現在のウェブの男はサイトに絆創膏を投げたいと思っています。私はビジネスオーナーに自分のビジネスを別の場所に置き、すべてを確保するように納得させたと思います。
一つの質問。データベースが危険にさらされているため、サイトを新しいサーバーに複製する安全な方法はありますか?この1ブロックのコードに基づいて、DBでおなじみのパターンを検索できると思いますが、これは実際には堅牢ではありません。管理コントロールパネル->エクスポートからコンテンツXMLバックアップを作成できることを知っています。この形式は実際にはWordPress eXtended RSS or WXRと呼ばれ、投稿、ページ、コメント、カスタムフィールド、カテゴリ、タグが含まれます。これらのエントリを視覚的に確認して、センス。
DBに少なくとも1つのウイルスが存在するサイトのクローン作成に関するその他のアイデア?
また、最近のJavaScriptアクティビティのこの例を提出するためにウイルスを追跡する正当な人々のためのリポジトリはありますか?明らかに、ここに投稿するつもりはありません。他の人が作成する機会を与えないようにするためです。例えばsucuri.netや他の場所にコードを送信できますか?
あなたは尋ねているようです:
JavaScriptマルウェアをリバースエンジニアリングすることは可能ですか
はい。それを行うためにサーバーにアクセスする必要はありません。ただし、マルウェアの作成者がそれをより困難にする可能性があります。ここでは、可能性のあるメソッドを列挙しません。それらは(ほとんど)他の場所でよく説明されています。ほとんどの攻撃者は、そのような洗練された方法を気にしません。特に、それが重要な経済的価値のある標的型攻撃でない場合です。
サーバー上のコードが挿入されている場所を特定することは可能ですかはい、ただし、CMSの実用的な知識、プログラミングの能力、およびサーバー(またはそのイメージ)へのアクセスが必要です。
あなたが尋ねるべき質問はサービスの脆弱性は何ですかです。あなたはこの問題の症状だけを扱いました-原因ではありません。
このタイプの攻撃の一般的な方法は、.htaccessファイルを変更して、phpの自動追加ステートメントを含めることです。それ以外の場合は、コンテンツが読み込まれた後にトリガーされたように見えるため、データベースにあると考えられます。