3

Joomla で構築しているサイトのソース コードを調べていたときに、いくつかの隠しリンクを見つけたところ、隠しスパム リンクが見つかりました。

いくつかのテンプレート ファイル内でそれらを見つけるのに 1 時間かかりましたが、運が悪かったのです。リンクは次のとおりです(htmlソースコードから):

<div id="jxtc-zt"><a href="http://magical-place.ru/" target="_blank" 
title="достопримечательности Европы">достопримечательности Европы</a></br><a 
href="http://joomla-master.org/" target="_blank" title="шаблоны Joomla 3.5">шаблоны  Joomla
3.5</a></div>

この:

</div><div id="jxtc-zt"><a href="http://battlefield4.com.ua/" target="_blank" 
title="Battlefield 4">Battlefield 4</a><br><a href="http://www.absolut.vn.ua/" 
target="_blank" title="минеральные воды">минеральные воды</a></div></div></div>

それらが作成された場所を見つける方法について何か提案はありますか?

おそらく何らかの方法で難読化されていますか?

ありがとう

4

3 に答える 3

4

同じ問題がありましたが、解決策を見つけました。

コードは実際、template_name\html\com_content\article\default.php の下のテンプレート内に隠されています。テキストはbase64を使用してエンコードされており、記事の前に1つ、最後に1つ、2つのインスタンスがありました。使用されるコードは次のとおりです。

<?php  if (!$params->get('show_intro')) :
    echo $this->item->event->afterDisplayTitle;
endif; ?><?php
$mgp='PGRpdiBpZD0iamItYmYiPjxhIGhyZWY9Imh0dHA6Ly9tYWdpY2FsLXBsYWNlLnJ1LyIgdGFyZ2V0PSJfYmxhbmsiIHRpdGxlPSLQvtGC0LfRi9Cy0Ysg0YLRg9GA0LjRgdGC0L7QsiI+0L7RgtC30YvQstGLINGC0YPRgNC40YHRgtC+0LI8L2E+PGJyPjxhIGhyZWY9Imh0dHA6Ly9qb29tbGEtbWFzdGVyLm9yZy8iIHRhcmdldD0iX2JsYW5rIiB0aXRsZT0i0YDQsNGB0YjQuNGA0LXQvdC40Y8gSm9vbWxhIDMuNSI+0YDQsNGB0YjQuNGA0LXQvdC40Y8gSm9vbWxhIDMuNTwvYT48L2Rpdj4=';
echo base64_decode($mgp);?>

2番目からコードを削除しただけです

<?php ~ through to ?>

両方のリンクで。

于 2013-03-14T15:37:46.213 に答える
3

サイトのどのドキュメントにも「Battlefield」という単語が見つからない場合は、(引用符なしで) 検索してみてください。

"QmF0dGxlZmllbGQ=" (Base64 representation), 
"426174746c656669656c64" (Hexademical representation),
"&#66;&#97;&#116;&#116;&#108;&#101;&#102;&#105;&#101;&#108;&#100;" (ASCII).

これらは、それをエンコードする最も一般的な方法です。

それでも問題が解決しない場合は、コードを手動で見つけます。メイン テンプレート ファイル (最も一般的な index.php ) のコードの小さなチャンクを削除し、削除後に不要なリンクが消えたかどうかを確認します。もしそうなら - あなたはそれを担当しているコードを見つけました。

于 2012-12-20T23:59:01.573 に答える
1

同様の問題を抱えている人には、徹底的な解決策を提案したいと思います。

「Text-Crawler」や「String Finder」(Windows 用) などのバイナリ検索ツールが便利で、ルート フォルダーで「不要なテキスト全体から最も一般的でない単語」を検索します。

次に、上記の回答で「Jevgeni Boga~」が指摘したように、base64、16 進数、aasci など、これらの文字列のハッシュ形式を検索してみてください。

それでも正確なコードに焦点を合わせることができない場合は、隠されたコードがファイルではなくデータベースから取得されている可能性があります。そのため、次に検索する場所はデータベースであり、静かに簡単に検索できます。 "phpmyadmin" で文字列検索を実行します。

「phpmyadminホーム」に移動し、「データベース」を選択してから「検索」を選択するだけです....

検索する単語または値 :=> 「挿入されたコードからの最も一般的でない単語」

検索:=> デフォルトのまま (少なくとも 1 つの単語)

表の内側:=> 列の内側をすべて選択:=> 空白のままにします..

「不要なコード」がデータベース内に隠されている場合は、おそらくそれに到達する必要があります。

上記の誰かが述べたように、ページの読み込み後にコードがスクリプトによって挿入される可能性もありますが、ブラウザで JavaScript を無効にすることで、そうではないことを確認できます...

他にも注意すべき点がいくつかあります...コードがテキスト形式であるか、それとも単なるテキストの画像であるかを確認するなど...その場合は、. jpg または .png ...さらに、「URLdata:image/png;base64」メソッドを使用して CSS から画像を解析することもできます...

または最後に「iframe」タグを検索します。おそらく、他のソースからの iframe です。

于 2013-01-15T21:09:19.277 に答える