celsoft 6 076 Опубликовано: 9 июня 2010 Рассказать Опубликовано: 9 июня 2010 Вообщем решил создать эту тему, чтобы не отвечать каждый раз пользователям в ПМ и на E-mail, которые пишут о том что найдена та или иная уязвимость и нужен срочно патч. Хочу сразу сказать по всем реальным уязвимостям патчи выходят незамедлительно, а в этой теме я буду писать о псевдо уязвимостях, т.е. не существующих в реальности. Итак первая псевдо уязвимость это уязвимость в файле engine/modules/imagepreview.php якобы о том что этот файл подвержен XSS с возможностью передачи куков злоумышленникам. На самом деле это неверно, максимум что можно сделать это в старом браузере Опера вывести alert, передать куки злоумышленнику невозможно, в любом браузере, даже в той же опере, которая может вывести alert Далее вторая псевдо уязвимость: DLE уязвимость работает на версиях: ВСЕ DLE Уровень риска: Низкая (На данный момент, работает только если у пользователя есть права администратора) Нашёл очередной баг: Lion__ Переходим по ссылке: http://жертва/admin.php?mod=templates Получаем юрл с хешем, дописываем в ссылку: Если вам надо расплодить файлы шаблона в нужную папку (например в root): &action=dosavetemplates&edit_main=Bag_By_Lion__&do_template=..\ Прямой запуск файлов (пример запуска dbconfig.php): &action=dosavetemplates&do_template=..\engine/data/dbconfig.phP -a= Внимание: Второй способ не тестировался, но должен работать, защиту вроде обходит Автор публиковавший данное сообщение никогда не пробовал проверить данный способ на реальном сервере, и делал все у себя на локальном компьютере на денвере в системе windows. То что он написал невозможно сделать на реальном сервере размещенном в сети интернет. Итак разберемся почему. Во первых мусорить администратор может только в системе windows локального компьютера, т.к. в windows отсутствует понятия прав и прав на запись. На реальном сервере писать в корень нельзя, не будет прав на запись. Но и это еще не все. ..\ это пути которые могут работать только на локальном компьютере, для сервера необходимо использовать ../ что автоматически приведет к аварийной остановке админпанели. Чтение содержимого dbconfig.php также невозможно. Следующая псевдоуязвимость: Данный баг позволяет просто скачать список доп. полей новостей и юзеров DLE уязвимость работает на версиях: ВСЕ DLE Уровень риска: Низкая Нашёл очередной баг: Lion__ В папке data, стоит ограничение на локальный доступ (Allow from 127.0.0.1), из-за этого просто считать файл не получится, но есть простой способ: Пускай наш сайт будет - bugsite 1) Переходим по ссылке: http://bugsite/engine/images.php 2) В строчку "С сервера (URL):" Вставляем строку: http://bugsite/engine/data/xfields.txt?.zip Всё, файл залит в папку uploads/files/ теперь просто скачиваем) Так вот, IP 127.0.0.1, это локальный IP семейства виндовс, такой IP получает ваш сервер, после того как вы его поставите на локальном собственном компьютере. Сервера находящиеся в сети интернет не имеют данных IP адресов, и то что написано здесь можно выполнить только на собственном компьютере, а не в сети интернет. В сети интернет каждый сервер, каждый пользователь, обращающийся к вашему не может иметь локального локального IP 127.0.0.1, т.к. этот адрес только внутри одного компьютера. И никогда вам не получиться получить данные с этих файлов с серверов размещенных в сети интернет при условии что в папке engine/data/ у вас стоит оригинальный файл .htaccess который находится в дистрибутиве. По всем псевдоуязвимостям вам не нужно выполнять каких либо действий, вносить каких либо исправлений, и прочего, т.к. они ни коем образом не могут повредить или помешать вашему сайту. По появлении других псевдоуязвимостей я буду писать в этой теме. По реальным уязвимостям безусловно будут выходить патчи безопасности. Цитата Ссылка на сообщение Поделиться на других сайтах
IT-Security 33 Опубликовано: 9 июня 2010 Рассказать Опубликовано: 9 июня 2010 Ещё одна псевдоуязвимость: www.site/path/engine/api/api.class.php?dle_config_api=тут_произвольный_код Эта уязвимость есть только в ворованных версиях ДЛЕ, где API модицифировано нулерами. Цитата Ссылка на сообщение Поделиться на других сайтах
cheburator 0 Опубликовано: 4 февраля 2011 Рассказать Опубликовано: 4 февраля 2011 Автор публиковавший данное сообщение никогда не пробовал проверить данный способ на реальном сервере, и делал все у себя на локальном компьютере на денвере в системе windows. То что он написал невозможно сделать на реальном сервере размещенном в сети интернет. Итак разберемся почему. Во первых мусорить администратор может только в системе windows локального компьютера, т.к. в windows отсутствует понятия прав и прав на запись. На реальном сервере писать в корень нельзя, не будет прав на запись. Но и это еще не все. ..\ это пути которые могут работать только на локальном компьютере, для сервера необходимо использовать ../ что автоматически приведет к аварийной остановке админпанели. Чтение содержимого dbconfig.php также невозможно.А что вы думаете о людях, держащих сервер на IIS? Цитата Ссылка на сообщение Поделиться на других сайтах
celsoft 6 076 Опубликовано: 4 февраля 2011 Рассказать Опубликовано: 4 февраля 2011 Автор А что вы думаете о людях, держащих сервер на IIS? Причем здесь IIS. Хоть на чем стоит сервер. 127.0.0.1, это локальный IP. А локальный IP это IP комьютера за которым вы сидите (на монитор которого вы смотрите), а не другого копьютера. OS и серверное ПО никакого значения при этом не имеет. Цитата Ссылка на сообщение Поделиться на других сайтах
cheburator 0 Опубликовано: 5 февраля 2011 Рассказать Опубликовано: 5 февраля 2011 А что вы думаете о людях, держащих сервер на IIS? Причем здесь IIS. Хоть на чем стоит сервер. 127.0.0.1, это локальный IP. А локальный IP это IP комьютера за которым вы сидите (на монитор которого вы смотрите), а не другого копьютера. OS и серверное ПО никакого значения при этом не имеет. Я не говорил про возможность проведения этой уязвимости, я имел в виду, что некоторые конкретные части вашей статьи неоднозначны. Во первых мусорить администратор может только в системе windows локального компьютера, т.к. в windows отсутствует понятия прав и прав на запись. На реальном сервере писать в корень нельзя, не будет прав на запись.Встречаются веб-сервера и на Windows. Но и это еще не все. ..\ это пути которые могут работать только на локальном компьютере, для сервера необходимо использовать ../ что автоматически приведет к аварийной остановке админпанели.Это опять таки расчет на то, что реальный сервер будет работать на unix-like? Выполните <? echo DIRECTORY_SEPARATOR; ?> из под Windows сервера, например. Цитата Ссылка на сообщение Поделиться на других сайтах
celsoft 6 076 Опубликовано: 5 февраля 2011 Рассказать Опубликовано: 5 февраля 2011 Автор Встречаются веб-сервера и на Windows. не путайте Windows и Windows Server, обычный Windows не предназначен для создания серверов, а в Windows Server с правами и прочим уже все нормально. Цитата Ссылка на сообщение Поделиться на других сайтах
tabun 0 Опубликовано: 1 февраля 2012 Рассказать Опубликовано: 1 февраля 2012 Пардон за поднятие старой темы, но: 1) Переходим по ссылке: http://bugsite/engine/images.php 2) В строчку "С сервера (URL):" Вставляем строку: http://bugsite/engin...fields.txt?.zip Всё, файл залит в папку uploads/files/ теперь просто скачиваем) И далее коменты целсофта про 127.0.0.1 и т.д.: И никогда вам не получиться получить данные с этих файлов с серверов размещенных в сети интернет при условии что в папке engine/data/ у вас стоит оригинальный файл .htaccess который находится в дистрибутиве Вы тут неправы немного. Локалхост и 127.0.0.1 здесь ни при чем. Описанный способ действительно позволяет скопировать текстовый файл из папки engine/data в папку загрузки файлов, хотя и с добавлением к имени файла некого числа впереди. Правда, одно "но": надо иметь права на загрузку файлов видимо. По крайней мере, я пробовал это под админом на сервере. Цитата Ссылка на сообщение Поделиться на других сайтах
celsoft 6 076 Опубликовано: 1 февраля 2012 Рассказать Опубликовано: 1 февраля 2012 Автор tabun, причем здесь добавление zip? 127.0.0.1 это внутренний локальный IP, папка engine/data/ закрыта для внешних IP. Вы свою же инструкцию прочитайте, заходим на http://bugsite/engine/images.php и копируем с http://bugsite/engin...fields.txt?.zip т.е. в пределах одного сервера. Плюс еще и будучи администратором. Так что и главное откуда вы скопировали? Со своего сервера на свой. А теперь попробуйте с чужого сервера скопировать на свой, посмотрим как это у вас получиться. Поэтому подняли тему собственно зря. Никаких багов в данном вопросе нет и быть не может в принципе, о чем собственно полтора года назад и было написано. Уязвимость это когда к чужому сайту или чужой информации доступ получают, а не с собственно локального IP. Цитата Ссылка на сообщение Поделиться на других сайтах
tabun 0 Опубликовано: 3 февраля 2012 Рассказать Опубликовано: 3 февраля 2012 и копируем с http://bugsite/engin...fields.txt?.zip т.е. в пределах одного сервера Правильно, но копируем в папку uploads, к которой есть доступ не только у 127.0.0.1 и из которой этот псевдо-архив уже можно скачать. Однако, зачем это надо при обладании админским аккаунтом (можно других дел наделать), это уже другой вопрос Цитата Ссылка на сообщение Поделиться на других сайтах
celsoft 6 076 Опубликовано: 3 февраля 2012 Рассказать Опубликовано: 3 февраля 2012 Автор Правильно, но копируем в папку uploads, к которой есть доступ не только у 127.0.0.1 и из которой этот псевдо-архив уже можно скачать. Вы не понимаете. Неважно куда копировать, важно откуда, возмите и данный файл скопируйте например с домена dle-news.ru себе в папку на своем сервере и посмотрим как у вас это получится. Данный файл на домене dle-news.ru 100% присутствует. Вы пытаетесь скопировать на сайте расположенном на вашем же локальном компьютере где http://127.0.0.1 это локальный адрес, по умолчанию вбитый в hosts, когда сервер в интернет то 127.0.0.1 уже не будет работать, т.к. ваш IP в сети интернет не будет 127.0.0.1, .htacess проверят IP агента, в вашем денвере он всегда 127.0.0.1 при размещении сайта в сети интернет, совсем уже по другому все работает. 1 Цитата Ссылка на сообщение Поделиться на других сайтах
tabun 0 Опубликовано: 5 февраля 2012 Рассказать Опубликовано: 5 февраля 2012 )) Там, в исходном тексте этой псевдоуязвимости, нет речи о прямом копировании файла xfields сразу на чужой компьютер. Речь идет о копировании в пределах одного сервера этого файла из директории, к которой нет доступа извне, в директорию (uploads), к которой уже есть доступ извне, и уже из которой этот файлик можно скачать и на другой сервер/комп. Посмотрите внимательнее, о чем я говорю. Я говорю про баг "В папке data, стоит ограничение на локальный доступ (Allow from 127.0.0.1), из-за этого просто считать файл не получится, но есть простой способ:" И он, этот способ, работает. Проверял на своем сайте. Единственное, повторюсь, при наличии админских прав, есть другие более интересные вещи, которые можно сделать. Цитата Ссылка на сообщение Поделиться на других сайтах
celsoft 6 076 Опубликовано: 5 февраля 2012 Рассказать Опубликовано: 5 февраля 2012 Автор tabun, Внимательно прочитайте что вам пишут еще раз, вы упорно этого не хотите делать. Файл .htaccess определеляет доступ по IP юзерагента посетителя сайта. На сайте размещенном в сети интернет данный IP не может быть 127.0.0.1 у юзерагента, он только в денвере такой т.е. в пределах локального компьютера!!!!!!!!!!!! Что такое локальный компьютер вы знаете? Это ваш компьютер, и только в пределах компьютера который стоит у вас дома у вас будет 127.0.0.1, при выходе в сеть он таковым никогда не будет и не может быть и неважно какая сеть, локальная или сеть интернет. И для сайта размещенного в сети это никогда работать не будет, о чем уже было сказано десятки раз. Проверял на своем сайте. Не путайте "проверял на своем сайте в интернет" и на "сайте который установлен на компьютере на денвере". На сайте размещенном в интернет никогда работать не будет, а если и будет то у вас уязвимость серверного ПО, а не скрипта, по причине того что .htaccess у вас вообще не работает тогда. А на денвере это работать будет, потому как ваш IP в пределах вашего компьютера всегда 127.0.0.1 Цитата Ссылка на сообщение Поделиться на других сайтах
tabun 0 Опубликовано: 5 февраля 2012 Рассказать Опубликовано: 5 февраля 2012 (изменено) Ну, кабы .htaccess не работал, ваш движок не пахал бы, не? Проверка была в интернете. Вы сами-то пробовали у себя такой фокус провернуть или только основываясь на описании, говорите, что это не будет работать? Прямой доступ моему браузеру, например, к файлу в этой папке сервер не даст, однако он позволяет php скрипту, расположенному на сервере, скопировать этот файл. Попробуйте у себя. У меня же нет админских прав к вашему сайту )) Единственное еще замечание, проверял я на старой версии ДЛЕ, 8.5, но со всеми критическими багфиксами с вашего сайта. update: кстати, версия 7.5 ДЛЕ не позволила провернуть такой ход конем, сказав, что "Загрузка таких типов файлов запрещена!!!" Изменено 5 февраля 2012 пользователем tabun Цитата Ссылка на сообщение Поделиться на других сайтах
celsoft 6 076 Опубликовано: 5 февраля 2012 Рассказать Опубликовано: 5 февраля 2012 Автор Ну, кабы .htaccess не работал, ваш движок не пахал бы, не? С чего вдруг? DLE вообще все равно на какой .htaccess, он управляет внешним доступом, а не внутренним. А DLE подключает внутренние файлы только используя внутренний протокол, а не внешний. Проверка была в интернете. Прямой доступ моему браузеру, например, к файлу в этой папке сервер не даст, однако он позволяет php скрипту, расположенному на сервере, скопировать этот файл. В таком случае у вас просто проблемы на сервере. Для копирования файлов указанный как URL, скрипт использует внешние подключения и функцию copy через обращение через http протокол, у вас идет в настройках подмена, если указывается ваш домен, то от автоматически редиректится на localhost, тогда файл .htaccess уже у вас игнорируется. Вы сами-то пробовали у себя такой фокус провернуть или только основываясь на описании, говорите, что это не будет работать? еще полтора года назад, вы на дату темы посмотрите, и я никогда не пишу того, чего лично не проверял. И кстати уже также полтора года как в дистрибутиве скрипта нет этой строчки Allow from 127.0.0.1 она вообще не нужная была и лишняя, поэтому ее и убрали. Цитата Ссылка на сообщение Поделиться на других сайтах
tabun 0 Опубликовано: 5 февраля 2012 Рассказать Опубликовано: 5 февраля 2012 С чего вдруг? DLE вообще все равно на какой .htaccess Пардон, но правила rewrite прописаны в одном из таких файлов. Если бы он у меня не работал, движок бы у меня тоже не работал. Но вопрос не об этом. Теперь уже надо разобраться подробнее. Если у меня это прокатило, и у автора изначального, значит, у многих других тоже может быть. Для копирования файлов указанный как URL, скрипт использует внешние подключения и функцию copy через обращение через http протокол, у вас идет в настройках подмена, если указывается ваш домен, то от автоматически редиректится на localhost Вопрос, стандартно или нет такое поведение для PHP/Apache? Цитата Ссылка на сообщение Поделиться на других сайтах
celsoft 6 076 Опубликовано: 5 февраля 2012 Рассказать Опубликовано: 5 февраля 2012 Автор Пардон, но правила rewrite прописаны в одном из таких файлов. Если бы он у меня не работал, движок бы у меня тоже не работал. правила не для скрипта написаны, а для браузера пользователя, чтобы при переходе по таким адресам в скрипт поступали нужные ему данные Вопрос, стандартно или нет такое поведение для PHP/Apache? нетЕсли у меня это прокатило, и у автора изначального, значит, у многих других тоже может быть. Только это не относится к проблемам скрипта, скрипт серверов не настраивает, да в данном файле нет ничего то что нужно скрывать, там только имена доп. полей, которые можно просто в исходном коде страницы посмотреть при добавлении новости, поэтому говорить о каких либо уязвимостях или о том чтобы скрипт должен как то боротся с багами настроек сервера в данном вопросе не приходится. При том что как я уже писал, в этом файле больше нет этой строчки уже полтора года. Цитата Ссылка на сообщение Поделиться на других сайтах
Рекомендованные сообщения
Присоединяйтесь к обсуждению
Вы можете опубликовать сообщение сейчас, а зарегистрироваться позже. Если у вас есть аккаунт, войдите в него для написания от своего имени.