Уязвимост при качване на файлове в компонента AdsManager

Наскоро срещнахме сайтове със същата уязвимост в AdsManager, в тази статия ще ви кажа как да намерите и затворите уязвимостта на сайта.

Първите редове, които попаднах в дневниците, бяха:

„POST /index.php?option=com_adsmanager&task=upload&tmpl=component HTTP/1.0“ 200
„ВЗЕМЕТЕ /tmp/plupload/yzb.php?input HTTP/1.0“ 200

И така, на нашия сайт чрез експлойт, черупката беше качена в папката tmp/plupload и сега можете да правите всичко с нашия сайт.

Каква е уязвимостта? В следващата статия ще възпроизведа по-подробно атаката на сайта, тук само ще направя резервация, че няма филтриране при качване на файлове.

Отворете файловите компоненти/com_adsmanager/controller.php и вижте, че това наистина е така:

$ filename = $ directory. "/". basename ($ file ['name']); - няма проверка на разширението на файла.

Сега нека преминем към това как можем да се отървем от проблема. Най-лесният метод би бил да актуализирате компонента до текущата версия, където дупката е леко покрита. Този универсален метод обаче не е подходящ за всички, тъй като много AdsManager е прилично модифициран и актуализацията ще доведе до проблеми с възстановяването на функционалността. Следователно можем просто да направим промени в кода от новата версия по отношение на сигурността. Достатъчно е да добавите следните редове към файла на контролера след реда $ filename = $ directory. "/". Basename ($ file ['name']);

$ fileName_b = strtolower (substr ($ fileName, $ ext + 1));

Но това решение наистина не ми харесва, поради причината, че тук все още няма нормално филтриране на типовете файлове. Затова препоръчвам да добавите защитен .htaccess файл в папката tmp/plupload с кода:

# Тук забраняваме достъп до файлове отвън, може да бъде заменен със забрана за изпълнение на опасни файлове
Поръчай откажи, разреши
Отричане от всички
# За да се предотврати подмяната на .htaccess файла (Благодарение на решението Revisium)
RewriteEngine On
RewriteRule ^ tmp/- [F]

Сега не е нужно да се притеснявате за сигурността на уебсайта!