668 145 480 info@jacekjagusiak.pl

Dziś opiszę Wam powracający już kilkukrotnie przypadek infekcji stron opartych o Joomla. Nie ma tu znaczenia w jakiej wersji jest, może być nawet w najnowszej, ale jeśli posiadacie stronę na Joomla i komponent B2J Contact w wersji niższej niż 2.1.13 to macie dosłownie przechlapane, ale jeszcze o tym nie wiecie.

No to sprawdzajcie….

Już?

Dla niewtajemniczonych napiszę, że B2J Contact to bardzo popularny komponent wykorzystywany do tworzenia formularzy kontaktowych na stronach opartych o Joomle. Nie powiem, nie jest zła i uspokoję Was, dalej widnieje w repozytorium Joomli. Można ją kupić za 29 dolarów, ale aktualizacje są dostępne po zakupie jedynie przez rok. Tym samym jeśli macie wersję poniżej 2.1.13 to zapewne aktualizacje już Wam nie przysługują, a to bardzo zła wiadomość.

O co chodzi?

Otóż w B2J Contant jest paskudna dziura, luka, zwał jak zwał, która pozwala na wrzucenie na serwer pliku z rozszerzeniem popularnych formatów graficznych, a później zmianę samej nazwy pliku jak i rozszerzenia czyniąc ów plik wykonywalnym. Dalej sprawa jest całkiem prosta, plik nadpisuje inne pliki jak i otwiera drogę do podboju strony dla kolejnych swoich kolegów. Po pewnym czasie robi nam niezły bajzel na stronie.

Tu zwrócić należy szczególną uwagę na plik znajdujący się w folderze helpers komponentu, mowa o b2juploader.php, gdzie znajdziemy kod jak poniżej:

 protected function DoUpload()
        {
        ...
        $file = JRequest::getVar('b2jstdupload', NULL, 'files', 'array');
        ...     
        $upload_directory = JPATH_SITE . "/components/" . $GLOBALS["com_name"] . "/uploads/";
        ...
        $filename = JFile::makeSafe($file['name']);
        $filename = uniqid() . "-" . $filename;
        $dest = $upload_directory . $filename;

Co ciekawsze, wcale nie musicie mieć w formularzu dodanej opcji uploadu plików. Kod powyżej pozwala wrzucić plik JPG lub PNG z przewidywalną nazwą i lokacją, a później korzystając z funkcji zmiany nazwy zmienić rozszerzenie.

Sprawdźcie więc wersje jaką używacie i jeśli jest niższa niż 2.1.13 to jak najszybciej zaktualizujcie ją do najnowszej wersji, gdzie luka została załatana. Jeśli jednak nie chcecie płacić prawie 30 dolców to zawsze można komponent odinstalować i zastąpić go zamiennikiem. Wcześniej jednak polecam dokładnie przyjrzeć się plikom strony czy aby już nie wykorzystał ktoś opisywanej dziury, aby popsuć Wam ten jakże piękny dzionek.

 

Rate this post
Rate this post