Witam Wszystkich.
Miałem podobny przypadek u mnie i już wyjaśniam gdzie jest dziura.
Otóż problem leży w zabezpieczeniu komponentu com_classfields czyli popularne Ogłoszenia. Przejrzałem logi swojego serwera i już piszę jak dokonano ataku podrzucając kod iframe do mod_mainmenu.
Atakujący wykorzystując dziurę w com_classfields wrzuca sobie jakiś plik (w moim przypadku config.php) na nasz serwer poprzez adresik: /administrator/components/com_classifieds/popups/insert_image.php (sprawdzałem działa bez problemu - można wrzucić co się chce). Następnie odpala to co wrzucił: /components/com_classifieds/adimages/config.php (czyli kod config.php w którym może być wszystko np: modyfikacja Waszego mod_mainmenu.php). Pliku config.php jeszcze nie namierzyłem bo pewnie się sam kasuje po wykonaniu ale jak go dorwę to... Ja miałem dwa ataki z adresu IP: 82.207.99.8 jakby był ktoś zainteresowany zgnębieniem gościa to zapraszam do współpracy coś się wymyśli. Jak narazie jeszcze nie miałem czasu na opracowanie zabezpieczenia (autor pewnie też nie bo sprawdzałem).
Powodzenia w tropieniu dziur. Artur
PS: (dotyczy Lamerów) oczywiście przed podanymi adresami jest http://www.waszastrona.com
Rozwiązanie problemu (tymczasowe - uniemożliwia upload plików innych niż graficzne)
Edytujemy plik /administrator/components/com_classfields/popups/ImageManager/images.php podmieniając w nim całą funkcję do_upload() na kod poniżej:
Kod:
function do_upload($file, $dest_dir,$makeThumb)
{
global $clearUploads;
if(is_file($file['tmp_name']))
{
$tag = ereg_replace(".*\.([^\.]*)$", "\\1", $file['name']); //rozszerzenie pliku
$tag = strtolower($tag); //rozszerzenie na male literki
if($tag == 'jpg' || $tag == 'gif' || $tag == 'png' || $tag == 'bmp' || $tag == 'tif') {
//var_dump($file); echo "DIR:$dest_dir";
move_uploaded_file($file['tmp_name'], $dest_dir.$file['name']);
chmod($dest_dir.$file['name'], 0666);
if ($makeThumb){
$thumbsize=$_POST['thumbSize'];
$thumbQuality=$_POST['thumbQuality'];
$thumbFolder=$_POST['thumbFolder'];
$resizeOpt=$_POST['resizeOpt'];
make_thumb($dest_dir.$file['name'],$thumbsize,$thumbQuality,$thumbFolder,$resizeOpt);
}
}
else {
echo '<SCRIPT>alert(\'This file format is not allowed !\')</SCRIPT>';
}
}
Powodzenia