Информация Уязвимость шаблона Warehouse для Presta

только что чекнул пару своих перстовских сайтов - уязвимость присутствует. Перешёл с джумлы, думал теперь то решета не будет,ошибался.
 
только что чекнул пару своих перстовских сайтов - уязвимость присутствует. Перешёл с джумлы, думал теперь то решета не будет,ошибался.

дело не в престе - там всё норм
дело в халатности других разработчиков, предлагающих дополнительные модули
 
Хватит ныть. Латается всё парой строк. Допиши проверку по типу файла через getfilesize и будет счастье. Я все модули так латаю.
 
Хватит ныть. Латается всё парой строк. Допиши проверку по типу файла через getfilesize и будет счастье. Я все модули так латаю.
Расскажи подробнее как это делается?
 
Хватит ныть. Латается всё парой строк. Допиши проверку по типу файла через getfilesize и будет счастье. Я все модули так латаю.
Примерчик бы не помешал, раз уж так безапелляционно говорите )
 
Окей.
К примеру уязвимость в модуле Columnadverts. Уязвим файл /modules/columnadverts/uploadimage.php
Уязвим в том, что этот файл грузит в папку slides любой файл, будь то php скрипт, картинка или даже гиговый фильмец в avi)))) Это происходит от того, что разраб, который код ваял, не думал о безопасности и скорее всего тупо скопировал кусок кода загрузки файла.
Защитить файл нужно простой проверкой файла сразу перед тем, как грузить его в папку. Например вставляем в файл след код сразу после $plik1=$_FILES['userfile']['name']; (33 строки:(

PHP:
//Lataem dyru. Dobavlenie proverki типа файла
//////////////////////////////////////////////////////
$blacklist = array(".php", ".phtml", ".php3", ".php4", ".php5", ".php6", ".php7", ".js", ".xml", ".htm", ".html", ".xhtm", ".xhtml");
foreach ($blacklist as $item) {
  if(preg_match("/$item\$/i", $_FILES['userfile']['name'])) {
   echo "<br>What a fuck is that?!?!?!?!<br>Trying to hack me?<br>Fucking noob! Die sucker! Ahahaha!<br>And one more.... Your mother is a whore:-)<br>\n";
   exit;
   }
  }
////////////////////////////////////////////////////////

и (или) так

PHP:
//Lataem dyru. Dobavlenie proverki типа файла
//////////////////////////////////////////////////////
$imageinfo = getimagesize($_FILES['userfile']['tmp_name']);
 if($imageinfo['mime'] != 'image/gif' && $imageinfo['mime'] != 'image/jpeg' && $imageinfo['mime'] != 'image/png') {
  echo "We allow only PNG, JPEG, JPG and GIF files";
  exit;
 }
////////////////////////////////////////////////////////

Я там еще пошутил и прописал сообщение для хакеров)))) Пусть порадуются.
 
2 страницы уже обсуждается этот вопрос.
Решение: Для просмотра ссылки Войди или Зарегистрируйся
Тоже столкнулся с этой проблемой. 2 сайта на престе были взломаны. 1 на warehouse 3.7, 2 - panda theme. Причем тот который на warehouse гораздо более пострадал. Помимо 30-40 левых файлов появившихся на хостинге, был файл визитка типа взлом сделали албанские хакеры ;). Сайт стал жутко тормозить, а в блоге появился редирект на различные сайты, в том числе adult...
Но удалось все быстро исправить.
В папке модули появились 2 левые папки inject и INJECTION, и файлы mail.php, letter.php, php.ini, sys.php....И модуль Columnadverts так же был заражен.
Так же в папке config появился левый файл с корявым именем settings.inc____(видимо тоже хакнули).
После чистки сайта от всех левых файлов, в том числе от модуля Columnadverts, фиксим блог.
Идем по пути: /themes/warehouse/modules/ph_simpleblog/views/templates/front/single.tpl и меняем :
Код:
<script>
var lang_iso = '{$lang_iso}_{$lang_iso|@strtoupper}';
{literal}(function(d, s, id) {
  var js, fjs = d.getElementsByTagName(s)[0];
  if (d.getElementById(id)) return;
  js = d.createElement(s); js.id = id;
  js.src = "//connect.iconcebook.net/"+lang_iso+"/all.js#xfbml=1";
  fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));
{/literal}
</script>

На :
Код:
<script>
var lang_iso = '{$lang_iso}_{$lang_iso|@strtoupper}';
{literal}(function(d, s, id) {
  var js, fjs = d.getElementsByTagName(s)[0];
  if (d.getElementById(id)) return;
  js = d.createElement(s); js.id = id;
  js.src = "//connect.facebook.net/"+lang_iso+"/all.js#xfbml=1";
  fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));
{/literal}
</script>
Вот и все. Проблема решена.
 
Из личного опыта: не обязательно обновлять шаблон до последней версии, все лечится простым обновлением модулей, в которых найдена уязвимость.
 
Подскажите пожалуйста, как исправить:
После взлома нашел сторонние файлы и удалил, как мне казалось все вредоносные файлы. Сайт отображается корректно, но Гугл вместо главной страницы видит совсем другую страницу (с китайскими иероглифами и картинками), вместо главной магазина. Заменены Мета теги и вообще вся страница чужая. Упала посещаемость и кликабельность главной страницы, позиции в выдаче и т.д.
В Яндексе все хорошо, отображается корректно. И вообще - проблему никак не заметить, если не смотреть в поисковую выдачу Гугла.
robots.txt проверил, там ничего стороннего нету.
Посоветуйте, где может быть проблема.
 
У меня взломали один сайт используя уязвимость в модуле simpleslideshow, правда тема была еще в 2014 куплена.
 
Назад
Сверху