Модераторы: skyboy, MoLeX, Aliance, ksnk

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Yii поиск уязвимости 
V
    Опции темы
SamDark
Дата 27.9.2012, 12:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Добрый кот
***


Профиль
Группа: Участник
Сообщений: 1424
Регистрация: 25.7.2006
Где: Voronezh

Репутация: 10
Всего: 38



Очень похоже. Вариантов достать структуру базы (без доступа к файловой системе) не много. Так как YII_DEBUG отключен, их остаётся все-ничего:

1. phpmyadmin или аналог с дырой.
2. Очень кривой код приложения. Параметры подставляются прям в строку аля Yii::app()->db->createCommand("select * from table wher x = ".$id). При этом id не фильтруется.

Так как вариант №2 ещё надо хорошо поискать (то есть относительно нерентабельно), вероятнее всего это №1.

Добавлено через 1 минуту и 47 секунд
Если отдали index.php, всё серьёзней (хотя для Yii он стандартный).

Доступ к серверу по FTP? Уже посканили все машины с доступом к FTP антивирусом?

Логи я бы всё-таки посмотрел. Туда много всего пишется.


--------------------
rmcreative.ru — Это жжж неспроста...
yiiframework.ru — О фреймворке Yii на русском.
reggi — здесь я регистрирую домены
PM MAIL WWW GTalk Jabber MSN   Вверх
Sanchezzz
Дата 27.9.2012, 13:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1670
Регистрация: 19.11.2006
Где: Voronezh

Репутация: 41
Всего: 60



2 вариант с дыркой мне кажется более правдоподобный учитывая историю проекта которую я знаю я за 1,5 года  услышал в кратце:  первый разработчик  был фрелансером который обосрался и загулял  и пришлось в быстрые сроки писать это за него без знаний самого Yii  весь код был написан,  где в модели, где во вьюхи закинута логика. Знаний с фремворком было тогда полный 0. Но проект за 1-2 недели был дописан и сдан полусырым и был запущен  и набирал популярность.


Был редизайн и рефакторинг кода с оптимизацией  естественно знаний появилось гораздо больше больше  новые фишки появились в проекте  ###код который тормозил YII был переписан полностью как надо на идеологию Yii.
Да видимо не все переписали, что я и думаю первое что будем смотреть это на написанный код и прямые запросы.


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






--------------------
Понравился ответ "+" по репе, не забываем закрывать тему, заказы в LS.
PM MAIL Skype GTalk   Вверх
Sentox
Дата 27.9.2012, 13:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


как то так
**


Профиль
Группа: Участник
Сообщений: 392
Регистрация: 27.1.2009
Где: Зимбабве

Репутация: 7
Всего: 7



Цитата

Да видимо не все переписали, что я и думаю первое что будем смотреть это на написанный код и прямые запросы.

Я с самого начала и предложил этим заняться, так как в YII есть простое исполнение запросов без обработки параметров. Поэтому и стоит логи посмотреть на всякие заморочки с инъекциями, особенно в день выявления. Поиск производить на недопустимые символы и экранирование по логу и ограничить пока именно датой взлома. 
PM MAIL   Вверх
Sanchezzz
Дата 28.9.2012, 19:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1670
Регистрация: 19.11.2006
Где: Voronezh

Репутация: 41
Всего: 60



Нашлась гадость, это оказалось обычная sql инекция через адрс. строку путем созданием временной таблицы и вытаскивание доступов от сервера через БД и выводом на страницу.
Виновный в халатности уже наказан: временным запрета к печенькам пока все не устранит).

Это сообщение отредактировал(а) Sanchezzz - 28.9.2012, 19:51


--------------------
Понравился ответ "+" по репе, не забываем закрывать тему, заказы в LS.
PM MAIL Skype GTalk   Вверх
SamDark
Дата 28.9.2012, 20:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Добрый кот
***


Профиль
Группа: Участник
Сообщений: 1424
Регистрация: 25.7.2006
Где: Voronezh

Репутация: 10
Всего: 38



SQL формировал строкой?


--------------------
rmcreative.ru — Это жжж неспроста...
yiiframework.ru — О фреймворке Yii на русском.
reggi — здесь я регистрирую домены
PM MAIL WWW GTalk Jabber MSN   Вверх
Sentox
Дата 28.9.2012, 21:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


как то так
**


Профиль
Группа: Участник
Сообщений: 392
Регистрация: 27.1.2009
Где: Зимбабве

Репутация: 7
Всего: 7



Да, действительно, как сформировалась "дырка". Это действительно важно.
PM MAIL   Вверх
Sanchezzz
Дата 29.9.2012, 07:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1670
Регистрация: 19.11.2006
Где: Voronezh

Репутация: 41
Всего: 60



Цитата

SQL формировал строкой? 
 
Да, обычная строка запроса, вот почему я всегда талдычу использовать "Подготовленные выражения (prepared statements)" со всеми людьми которыми я работаю и работал).






--------------------
Понравился ответ "+" по репе, не забываем закрывать тему, заказы в LS.
PM MAIL Skype GTalk   Вверх
ksnk
Дата 29.9.2012, 11:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прохожий
****


Профиль
Группа: Комодератор
Сообщений: 6855
Регистрация: 13.4.2007
Где: СПб

Репутация: 96
Всего: 386



Sanchezzz, А как с помощью SQL инъекции можно получить содержимое файла index.php? 


--------------------
Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! user posted image
PM MAIL WWW Skype   Вверх
Sanchezzz
Дата 29.9.2012, 14:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1670
Регистрация: 19.11.2006
Где: Voronezh

Репутация: 41
Всего: 60



Цитата(ksnk @ 29.9.2012,  11:58)
Sanchezzz, А как с помощью SQL инъекции можно получить содержимое файла index.php?

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





--------------------
Понравился ответ "+" по репе, не забываем закрывать тему, заказы в LS.
PM MAIL Skype GTalk   Вверх
ksnk
Дата 29.9.2012, 19:26 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


прохожий
****


Профиль
Группа: Комодератор
Сообщений: 6855
Регистрация: 13.4.2007
Где: СПб

Репутация: 96
Всего: 386



Цитата

... and you must have the FILE privilege

Вот еще одна уязвимость ;) Операции работы с файлами в mysql действительно нужны?


--------------------
Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! user posted image
PM MAIL WWW Skype   Вверх
Sanchezzz
Дата 29.9.2012, 19:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1670
Регистрация: 19.11.2006
Где: Voronezh

Репутация: 41
Всего: 60



ksnk, скорее всего нет. Спасибо что напомнили нужно админа наказать, введи лишения кофе утром).



--------------------
Понравился ответ "+" по репе, не забываем закрывать тему, заказы в LS.
PM MAIL Skype GTalk   Вверх
ksnk
Дата 29.9.2012, 20:25 (ссылка) |  (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


прохожий
****


Профиль
Группа: Комодератор
Сообщений: 6855
Регистрация: 13.4.2007
Где: СПб

Репутация: 96
Всего: 386



Цитата(Sanchezzz @  29.9.2012,  19:58 Найти цитируемый пост)
введи лишения кофе утром

Это слишком жестоко. А работать кто утром тогда будет?  smile 


--------------------
Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! user posted image
PM MAIL WWW Skype   Вверх
Pumbaba
Дата 5.10.2012, 12:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 1
Регистрация: 5.10.2012

Репутация: нет
Всего: нет



Цитата(Sanchezzz @ 26.9.2012,  17:57)
Добрый вечер, прихожу сегодня на работу и на стол летит пачка листов узеров хеш паролями на страниц 40+ и задача найти: устранить уязвимость, воссоздать и самое мерзкое написать отчет для бумагалюбов smile 
Проект написан на Yii + файлов куча это переработка c 2006 года.
С чего начать помимо проверки запросов на уязвимость, форм загрузок + багов самого Yii

Вообще очень хороший вопрос.  smile  Вот зря ты «бумаголюбов» не любишь. Понимаю — вроде скучно — но очень помогает в таких ситуациях. 

Способ понятно что уже запоздавший - но если нет автодокументрирования - т.н. "Бортовой журнал". 

Кто-то может сказать что это скучно, не нужно и кто этим пользуется, но по факту - помогает очень сильно. Было пару раз "приятных ситуаций" подобного рода, и ребята в команде хорошо что подобные записки вели. За пару дней смогли поднять все нюансы 3хлетнего проекта и мы смогли определится откуда ноги растут и на каком этапе могли допустить ошибки. 

Вообще советую поискать инструменты автоматизации самой начальной стадии проекта (только разобрать изначально по винтику!), т. к. уже столько глупых ошибок перевидал там где его не должно быть — потом когда в голову летит как ты пишешь пачка листов - за голову хватаешься и ищешь где и  откуда ветер дует. С недавних пор взяли на вооружение два дополнения под  Yii -  Boilerplate и backvendor. Довольно похожие штуки но, как по мне, второй — будет по интересней. Клипают админку и вэбсервис с нуля минут за 5. Потом только проверяешь сидишь и заносишь в «бортовой журнал» что, когда и где менялось.  
PM MAIL   Вверх
Sanchezzz
Дата 5.10.2012, 18:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1670
Регистрация: 19.11.2006
Где: Voronezh

Репутация: 41
Всего: 60



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

Да и документирование всего кода, кроме меня некто не делает я покрываю его полностью когда пишу даже себе в убыток( было пару замечаний и споров с коллегами почему так много) ) 
Каждую функцию входные параметры, результат, каждый класс, каждый метод, сложные конструкции, циклы, начало вхождения условий это 20-45% покрытия кода.
[ушел пить кофе]
...
Я честно не перевариваю фремворки и уже не люблю Yii за его цепочки вызовов классов за длинный названия методов (не придерживались правилу названия методов в 4-6 символов, возможно и за ограниченного запаса словарного запаса).
Но я пишу на Yii  для того что бы легче было поддерживать проект дальше после меня.

Фремворк или движок cms, это единственный способ прийти хотя бы к какому подобию стандартизованной работы в команде, конторе(фирме)

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

На ошибках чужих своих учатся.

Спасибо за совет о Boilerplate и backvendor(хабр)  посмотрю как будет время.


--------------------
Понравился ответ "+" по репе, не забываем закрывать тему, заказы в LS.
PM MAIL Skype GTalk   Вверх
Sentox
Дата 5.10.2012, 19:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


как то так
**


Профиль
Группа: Участник
Сообщений: 392
Регистрация: 27.1.2009
Где: Зимбабве

Репутация: 7
Всего: 7



Sanchezzz
Цитата

за длинный названия методов (не придерживались правилу названия методов в 4-6 символов, возможно и за ограниченного запаса словарного запаса).

Охохо smile
А какие же короткие названия.
И да, правила чистого кода наоборот придерживаться более ёмких названий програмного кода не жели писанины в комментариях.
"Не комментируйте плохой код - перепишите его" (Брайан У.Керниган и П.Дж.Плауэр)

Комментарии в большинстве своём это "шум" повторяемый то что описывает код, при чём они (комментарии) так же начинают требовать поддержки, так как если код меняет свой алгоритм то непосредственно нужно менять и комментарий. Код должен быть читаем, как книга, а не догадываться по "4-6 символам" что хотел сказать этим разработчик. Лучший комментарий это имя переменной, метода или класса.
Если измениться алгоритм изменится и код.
В этом я с Р.Мартином и Макконнеллом согласен на 100%

Это сообщение отредактировал(а) Sentox - 5.10.2012, 19:24
PM MAIL   Вверх
Страницы: (3) Все 1 [2] 3 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1156 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.