2ShowBiz: Прокуратура Курской области (уязвимость)

В догонку к предыдущему посту речь снова пойдёт о 2showbiz, только рассказать я хочу не о дизе и юзабилити а о уязвимости на одном из самых «крутых» сайтов, сделанных этой студией: prockurskobl.ru
Глядя на скрипты, которые передают параметр в бд так и хочеться сунуть в него кавычку:

Курск

«Ну и чё?» — спросите вы. А ничё! Перед нами sql-injection.
С помощью оператора «union» подбираем количество полей используемых в запросе и ищем принтабельные (те, которые выводятся из таблицы в документ):

Курск

Ок. Пробуем вывести данные… Но вот незадача — переменные «version()», «user()», «database()» и т.д. не работают. Наверное, проблемы с кодировкой на сервере. Ну ничего страшного — заюзаем функции «aes_decrypt» и «aes_encrypt», которые зашифруют и расшифруют данные с помощью алгоритма «AES». А для удобства сделаем конкатенацию (объеденение) строк, с помощью «concat».

Курск

Итак:
5.0.16-standard-log — версия sql сервера.
[email protected] — юзер, под которым он запущен.
ProsecutoryDB — база данных.
pc-linux-gnu — ось.

Отлично! 5ая версия. Пробуем вывести информацию о таблицах базы из таблицы «information_schema.tables».

Курск

Как мы видим выводится только одна запись из таблицы. Чтобы прочитать остальные используем оператор «limit», который будет выдавать нам записи построчно. Находим таблицы с аккаунтами юзеров.

Курск

Далее нужно найти названия колонок в таблице. Но сколько я не пытался — вытащить колонки мне не удалось. Наверное админы запретили вывод из «information_schema.columns». Зато сбрутить их оказалось гораздо проще. :)

Курск

Расшифровываем и получаем админские акки.

Все мои попытки найти админку не увенчались успехом. :( Поэтому на этом смайле мы завершаем взлом.
Главное — мы смогли раскрутить уязвимость, причём очень опасную.

зы: ув. 2showbiz, отключение информации об ошибках не спасёт Вас от матёрых взломщиков. Чтобы полностью уберечься от возможности проникновения стоит тщательно фильтровать входные параметры.

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

41 комментарий

  • аватар ololo
  • +3
Яркий пример издержек наколенного написания CMS, помноженных на организацию труда, в которой нет контроля качества.
  • аватар a022
  • +6
Спасибо за тест. Информацию сегодня же обработаем и исправим уязвимости.
Пост плюсанул, хотя на лицо недопонимание автором происходящих в мире событий.

«Все мои попытки найти админку не увенчались успехом. :( Поэтому на этом смайле мы завершаем взлом.»

Ну и нашел бы ты админку, дальше что? Все, что у тебя есть на руках — логин. Или ты думаешь вот это пароль?
картинка из курска

На глаз скажу, что это хэш md5, свидетельство того, что прогер шубисов все же не полный лох, хотя я бы все же использовал sha1.
«Да я ща напишу на сях подборщик, к утру буду с паролем....»
Если пароли соблюдают правила безопасности (не менее 8 знаков + буквы в разном регистре + цифры + знаки препинания) твой подбор нехуево затянется на пару месяцев + счета за свет. а если там еще и соль используется символов эдак на 40, то взломаешь ты пароль к пенсии. Ситуацию с солью можно избежать подбирая пароль непосредственно через форму авторизации. Но частота обращений вызовет подозрения у тех.службы в тот же день, кроме того время подбора увеличится (время отклика по сети). Итого, не смотря на мой одобрям этого поста и демонстрацию автором знания функций MySQL, правды ради замечу, что в конце его понесло вообще не в ту сторону. Его намеки на «вытащенный пароль» — сказки братьев гримм. ему скорей нужно было бы намекать на ущерб наносимый непосредственно из адресной строки, при условии, что у текущего sql пользователя для этого ущерба есть права.
  • аватар a022
  • +2
Это был первый сайт, который программист вообще сделал (ну или второй).
Серега, смените md5 на sha1, сделайте нормальные пароли, а не тот стыд, что раскрыт ниже, добавьте соль при создании и проверке хэша. ну и ясен пень вставьте искейп всех параметров приходящих извне и идущих в базу. Чувак реально мог грохнуть базу, благо он воспитанный товарищ.
  • аватар ololo
  • +1
Зачем подбирать пароль, если можно просто дропнуть базу и смотреть, как прокуратура судорожно ищет бэкапы. Если их там делают, конечно.
Ты похоже прочел не до конца

картинка из курска
  • аватар ololo
  • +2
И то правда! Я только продрал глаза, а ты столь глубокомысленно выражаешься :-)
Это и есть дзэн, сказал Учитель и ударил его палкой по голове.
  • аватар z1mmer
  • +1
не хотел просто акки выкладывать, но специально для Вас:
здесь были пароли
Пароли — верх секьюрности.
«Пост плюсанул, хотя на лицо недопонимание автором происходящих в мире событий.<..>»

ох молчите, уже, молчите.
Хочешь ломануть полноценый пароль с md5 в условиях которые я назвал, умник?
не хочу.
а хотите вынюхать пару дорог тёртого рога единорога?
  • аватар a022
  • 0
Какой у клиента пароль — я не знал.
Это легко компенсировать солью при добавлении и проверке. Конечно же если заставить этих олухов выбирать правильные пароли (задав проверку регулярным выражением при создании пароля) будет секьюрней, но и соли пока будет достаточно для того, чтоб пользователи Cain заскучали.
  • аватар a022
  • 0
Перегибаешь палку, дружище.
Извини его, это я его раззадорил своим коментом. Ну я как бы тоже не ожидал, что пароли в стиле «тока не бейте», которые крэкеры md5 за время горения спички ломают.
Коллеги, давайте договоримся. Пароли не публикуем, хотите кому-либо, что-либо доказать — в личку.
  • аватар a022
  • 0
Поздно, извините.
он угадал
Если твой друг угадал, то у него наверное черная карта во все казино мира. Но я больше верю в вовремя запущенный Cain, или другой md5 крэкер, который потратил на взлом каждого пароля 5-7 минут
  • аватар z1mmer
  • +3
на брут этих паролей я потратил ровно 1.5 секунды ^_^
Какой крэкер?
  • аватар z1mmer
  • +1
конечно же онлайн сервис) никто уже давно не брутит ни кейнами не мд5инсайдами, т.к. все базы есть в онлайне)
брутят, поскольку далеко не все организуют секьюрную часть как коллеги с шубиса на тот период времени. или ты считаешь, что ты за 1,5 секунды что угодно отыщешь в хэш-базах?
  • аватар z1mmer
  • +2
нет конечно. но самые рандомные пассы в онлайне тоже есть) по крайней мере у меня ещё не было проблем с брутом хешей по средствам онлайн сервисов.
Готов провериться?
  • аватар z1mmer
  • +2
ну к чему эти писькомерки… я не спорю что Вы можете составить пароль которого нет ни в одной базе, но и на брут такого в оффлайне нужна будет вечность… просто приведу пример:
6b3f119771e9800e84ca165109bfab5b
65713e646fbf85ed5e3f8cd384d47ac7
c9289ef4b13a8f63c8271479d2416bc4
6839499417974428352669ca59f85fee
804e7275cd44d87dc89d41cd4034eb25

пароли составленные по всем законам безопасности. попробуйте сбрутить их тем же кейном и если у Вас это получится, скажите сколько потратили на это времени. а патом посмотрите в онлайн базах, поиск в которых занимает считанные секунды. только не надо говорить что эти пассы я специально вбил в базу)
Ты не понял, я и не спорю про скорость он-лайн баз. Скорость не сравнима, потому что они и не подбирают, а просто берут уже найденные решения. Но я глубоко сомневаюсь, что хотя бы одна из этих баз поможет при взломе пароля составленного по современным требованиям безопасности — требования к составу пароля + уникальная соль (20-25 знаков). Ни один он-лайн взломщик не будет это ломать, ему это не надо, не найдя в своих базах он тупо плюнет и честно скажет — нету.
  • аватар z1mmer
  • +1
Вы, наверное, просто не знаете принцип работы онлайн сервисов: все хеши не найденные в базе становятся в очередь на брут и патом уже брутятся в оффлайне при мощностях не с равнимыми с Вашими)
Подобную услугу предлагают далеко не все крэк-сервисы, многи просто паразитируют на готовых базаж, это во-первых. Во-вторых, там же тоже брутится не на флэш-приложении «счастливый фермер». На их серваках стоит прога, которая в многопоточном режиме подбирает хэш. Именно это я и имел в виду, когда говорил, что прогами взлома по-прежнему пользуются, нет ни одной он-лайн базы хрнящей ответ на все варианты. Нет базы хранящей ответы даже на половину возможных вариантов, даже если их таблицы весят терабайты. Что касается того времени, которое хэши будут ломать их серваки — при правильном подходе к безопасности не день и не два, я даже больше верю, что в какой-то момент процессы с безрезультатным подбором просто убивают, потому что это просто не экономно, на хер тратить мощности на пароль, который ломать 1000 лет, если ти мощности можно пустить на 1000 000 других паролей, которые ломать неделю.
Хэш не расшифровывается, это не шифрование, а контрольная сумма. Хэш можно только подобрать.
  • аватар z1mmer
  • +1
ну вы как человек знающий думаю поняли, что я имел ввиду под «расшифровкой»
Понял, это я банану ответил.
Там не хрена не делают, там все компы в вирусах,я рыдал когда заходил туда по делам, глядя на их айти парк.
  • аватар a022
  • 0
Уязвимость на этом и еще некоторых сайтах устранена, за это спасибо.
А вот публикация паролей была лишней.
  • аватар Neu
  • +2
А ведь этим сайтом пользуются очень многие в туризме. Мне тоже пришлось поработать и с ним, очень неудобный, пока всё ещё проще звонить туда и лично всё узнавать. Ну да не об этом.
  • аватар z1mmer
  • +2
посмотрел остальные сайты — баги не пофикшены. выкладывать больше ничего не буду, т.к. аудит безопасности — услуга платная ;)
  • аватар a022
  • 0
да, есть еще, работаем.

Чтобы оставлять комментарии, нужно или зарегистрироваться.