Перейти к публикации

Рекомендованные сообщения

Вообщем решил создать эту тему, чтобы не отвечать каждый раз пользователям в ПМ и на 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 который находится в дистрибутиве.

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

По появлении других псевдоуязвимостей я буду писать в этой теме. По реальным уязвимостям безусловно будут выходить патчи безопасности.

Ссылка на сообщение
Поделиться на других сайтах

Ещё одна псевдоуязвимость:

www.site/path/engine/api/api.class.php?dle_config_api=тут_произвольный_код

Эта уязвимость есть только в ворованных версиях ДЛЕ, где API модицифировано нулерами.

Ссылка на сообщение
Поделиться на других сайтах
  • 7 месяцев спустя...
Автор публиковавший данное сообщение никогда не пробовал проверить данный способ на реальном сервере, и делал все у себя на локальном компьютере на денвере в системе windows. То что он написал невозможно сделать на реальном сервере размещенном в сети интернет. Итак разберемся почему. Во первых мусорить администратор может только в системе windows локального компьютера, т.к. в windows отсутствует понятия прав и прав на запись. На реальном сервере писать в корень нельзя, не будет прав на запись. Но и это еще не все. ..\ это пути которые могут работать только на локальном компьютере, для сервера необходимо использовать ../ что автоматически приведет к аварийной остановке админпанели. Чтение содержимого dbconfig.php также невозможно.
А что вы думаете о людях, держащих сервер на IIS?
Ссылка на сообщение
Поделиться на других сайтах

А что вы думаете о людях, держащих сервер на IIS?

Причем здесь IIS. Хоть на чем стоит сервер. 127.0.0.1, это локальный IP. А локальный IP это IP комьютера за которым вы сидите (на монитор которого вы смотрите), а не другого копьютера. OS и серверное ПО никакого значения при этом не имеет.

Ссылка на сообщение
Поделиться на других сайтах

А что вы думаете о людях, держащих сервер на IIS?

Причем здесь IIS. Хоть на чем стоит сервер. 127.0.0.1, это локальный IP. А локальный IP это IP комьютера за которым вы сидите (на монитор которого вы смотрите), а не другого копьютера. OS и серверное ПО никакого значения при этом не имеет.

Я не говорил про возможность проведения этой уязвимости, я имел в виду, что некоторые конкретные части вашей статьи неоднозначны.

Во первых мусорить администратор может только в системе windows локального компьютера, т.к. в windows отсутствует понятия прав и прав на запись. На реальном сервере писать в корень нельзя, не будет прав на запись.
Встречаются веб-сервера и на Windows.

Но и это еще не все. ..\ это пути которые могут работать только на локальном компьютере, для сервера необходимо использовать ../ что автоматически приведет к аварийной остановке админпанели.
Это опять таки расчет на то, что реальный сервер будет работать на unix-like? Выполните <? echo DIRECTORY_SEPARATOR; ?> из под Windows сервера, например.
Ссылка на сообщение
Поделиться на других сайтах

Встречаются веб-сервера и на Windows.

не путайте Windows и Windows Server, обычный Windows не предназначен для создания серверов, а в Windows Server с правами и прочим уже все нормально.

Ссылка на сообщение
Поделиться на других сайтах
  • 11 месяцев спустя...

Пардон за поднятие старой темы, но:

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 в папку загрузки файлов, хотя и с добавлением к имени файла некого числа впереди. Правда, одно "но": надо иметь права на загрузку файлов видимо. По крайней мере, я пробовал это под админом на сервере.

Ссылка на сообщение
Поделиться на других сайтах

tabun,

причем здесь добавление zip? 127.0.0.1 это внутренний локальный IP, папка engine/data/ закрыта для внешних IP. Вы свою же инструкцию прочитайте, заходим на http://bugsite/engine/images.php

и копируем с http://bugsite/engin...fields.txt?.zip т.е. в пределах одного сервера. Плюс еще и будучи администратором. Так что и главное откуда вы скопировали? Со своего сервера на свой. А теперь попробуйте с чужого сервера скопировать на свой, посмотрим как это у вас получиться. Поэтому подняли тему собственно зря. Никаких багов в данном вопросе нет и быть не может в принципе, о чем собственно полтора года назад и было написано. Уязвимость это когда к чужому сайту или чужой информации доступ получают, а не с собственно локального IP.

Ссылка на сообщение
Поделиться на других сайтах

и копируем с http://bugsite/engin...fields.txt?.zip т.е. в пределах одного сервера

Правильно, но копируем в папку uploads, к которой есть доступ не только у 127.0.0.1 и из которой этот псевдо-архив уже можно скачать.

Однако, зачем это надо при обладании админским аккаунтом (можно других дел наделать), это уже другой вопрос ;)

Ссылка на сообщение
Поделиться на других сайтах

Правильно, но копируем в папку 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 при размещении сайта в сети интернет, совсем уже по другому все работает.

Ссылка на сообщение
Поделиться на других сайтах

)) Там, в исходном тексте этой псевдоуязвимости, нет речи о прямом копировании файла xfields сразу на чужой компьютер. Речь идет о копировании в пределах одного сервера этого файла из директории, к которой нет доступа извне, в директорию (uploads), к которой уже есть доступ извне, и уже из которой этот файлик можно скачать и на другой сервер/комп. Посмотрите внимательнее, о чем я говорю. Я говорю про баг "В папке data, стоит ограничение на локальный доступ (Allow from 127.0.0.1), из-за этого просто считать файл не получится, но есть простой способ:"

И он, этот способ, работает. Проверял на своем сайте.

Единственное, повторюсь, при наличии админских прав, есть другие более интересные вещи, которые можно сделать.

Ссылка на сообщение
Поделиться на других сайтах

tabun,

Внимательно прочитайте что вам пишут еще раз, вы упорно этого не хотите делать. Файл .htaccess определеляет доступ по IP юзерагента посетителя сайта. На сайте размещенном в сети интернет данный IP не может быть 127.0.0.1 у юзерагента, он только в денвере такой т.е. в пределах локального компьютера!!!!!!!!!!!! Что такое локальный компьютер вы знаете? Это ваш компьютер, и только в пределах компьютера который стоит у вас дома у вас будет 127.0.0.1, при выходе в сеть он таковым никогда не будет и не может быть и неважно какая сеть, локальная или сеть интернет. И для сайта размещенного в сети это никогда работать не будет, о чем уже было сказано десятки раз.

Проверял на своем сайте.

Не путайте "проверял на своем сайте в интернет" и на "сайте который установлен на компьютере на денвере". На сайте размещенном в интернет никогда работать не будет, а если и будет то у вас уязвимость серверного ПО, а не скрипта, по причине того что .htaccess у вас вообще не работает тогда. А на денвере это работать будет, потому как ваш IP в пределах вашего компьютера всегда 127.0.0.1

Ссылка на сообщение
Поделиться на других сайтах

Ну, кабы .htaccess не работал, ваш движок не пахал бы, не?

Проверка была в интернете.

Вы сами-то пробовали у себя такой фокус провернуть или только основываясь на описании, говорите, что это не будет работать?

Прямой доступ моему браузеру, например, к файлу в этой папке сервер не даст, однако он позволяет php скрипту, расположенному на сервере, скопировать этот файл. Попробуйте у себя. У меня же нет админских прав к вашему сайту )) Единственное еще замечание, проверял я на старой версии ДЛЕ, 8.5, но со всеми критическими багфиксами с вашего сайта.

update: кстати, версия 7.5 ДЛЕ не позволила провернуть такой ход конем, сказав, что "Загрузка таких типов файлов запрещена!!!"

Изменено пользователем tabun
Ссылка на сообщение
Поделиться на других сайтах

Ну, кабы .htaccess не работал, ваш движок не пахал бы, не?

С чего вдруг? DLE вообще все равно на какой .htaccess, он управляет внешним доступом, а не внутренним. А DLE подключает внутренние файлы только используя внутренний протокол, а не внешний.

Проверка была в интернете.

Прямой доступ моему браузеру, например, к файлу в этой папке сервер не даст, однако он позволяет php скрипту, расположенному на сервере, скопировать этот файл.

В таком случае у вас просто проблемы на сервере. Для копирования файлов указанный как URL, скрипт использует внешние подключения и функцию copy через обращение через http протокол, у вас идет в настройках подмена, если указывается ваш домен, то от автоматически редиректится на localhost, тогда файл .htaccess уже у вас игнорируется.

Вы сами-то пробовали у себя такой фокус провернуть или только основываясь на описании, говорите, что это не будет работать?

еще полтора года назад, вы на дату темы посмотрите, и я никогда не пишу того, чего лично не проверял. И кстати уже также полтора года как в дистрибутиве скрипта нет этой строчки Allow from 127.0.0.1 она вообще не нужная была и лишняя, поэтому ее и убрали.

Ссылка на сообщение
Поделиться на других сайтах

С чего вдруг? DLE вообще все равно на какой .htaccess

Пардон, но правила rewrite прописаны в одном из таких файлов. Если бы он у меня не работал, движок бы у меня тоже не работал.

Но вопрос не об этом.

Теперь уже надо разобраться подробнее. Если у меня это прокатило, и у автора изначального, значит, у многих других тоже может быть.

Для копирования файлов указанный как URL, скрипт использует внешние подключения и функцию copy через обращение через http протокол, у вас идет в настройках подмена, если указывается ваш домен, то от автоматически редиректится на localhost

Вопрос, стандартно или нет такое поведение для PHP/Apache?

Ссылка на сообщение
Поделиться на других сайтах

Пардон, но правила rewrite прописаны в одном из таких файлов. Если бы он у меня не работал, движок бы у меня тоже не работал.

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

Вопрос, стандартно или нет такое поведение для PHP/Apache?

нет

Если у меня это прокатило, и у автора изначального, значит, у многих других тоже может быть.

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

Ссылка на сообщение
Поделиться на других сайтах

Присоединяйтесь к обсуждению

Вы можете опубликовать сообщение сейчас, а зарегистрироваться позже. Если у вас есть аккаунт, войдите в него для написания от своего имени.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

×
×
  • Создать...