Добро пожаловать! Это — архивная версия форумов на «Хакер.Ru». Она работает в режиме read-only.
 

Вопрос по подключению к БД

Пользователи, просматривающие топик: none

Зашли как: Guest
Все форумы >> [Для начинающих] >> Вопрос по подключению к БД
Имя
Сообщение << Старые топики   Новые топики >>
Вопрос по подключению к БД - 2008-11-17 01:58:09.983333   
z0mbyak

Сообщений: 284
Оценки: 0
Присоединился: 2008-08-25 03:23:29.933333
Здрасте, товарищи знатоки!
Я тут столкнулся с новой для меня фишкой-вообщем нашел спайдером на сайте уязвимость "Возможно подключение к базе данных с помощью учетной записи"
с учеткой "R - ЉµЁъ". порт 5432, Имя сервиса : PostgreSQL Server. как ее использовать?
сайт rss-potolki.ru (надо поиздеваться над админом)
Помогите разобраться…если можно то с примерами.
заранее пасибо.
Post #: 1
RE: Вопрос по подключению к БД - 2008-11-17 09:37:22.096666   
horiz

Сообщений: 892
Оценки: 0
Присоединился: 2008-11-03 18:33:09.006666
Если я тебя правильно понял, то твой сканер нашел возможность удаленного подключения к базе данных. Единственное, я не понял, что это за формат учетки.
Я такие вещи проделывал только с мускулом, поэтому объясню на его примере (вряд ли будут большие отличия).
В общих чертах это делается так: если ты знаешь имя юзера (которому разрешено коннектиться к базе из внешнего мира) и его пароль то запускаешь клиента (желательно графического) и в параматрах подключения пропиши адрес сайта, порт, имя юзера, пароль и имя базы данных (если ее не знаешь, пиши information_schema). Все остальные действия зависят от того, сколько прав у юзера, под которым ты зашел.
Если нет клиенты, можно накатать скрипт на PHP, который пройдется по всей базе и соберет для тебя все, а потом с его помощью можно что-нибудь подредактировать в базе.

А если тебе известно только имя пользователя, то надо искать на сайте дыры для инъекций и пытать вытащить и юзеров и пароли из базы. Пароли будут зашифрованы, их придется вскрывать. В таком случае я тебе советую сразу искать учетку рута и брутить уже его пароль.
Post #: 2
RE: Вопрос по подключению к БД - 2008-11-17 17:37:55.016666   
z0mbyak

Сообщений: 284
Оценки: 0
Присоединился: 2008-08-25 03:23:29.933333
Нашел хеш для админского пароля! пасибо за подсказку, кстати кто-нить знает хорошие сервисы по расшифровке md5 а то я по форуму полазил там либо уже мертвые либо нету в базе…Заранее благодарю.
Post #: 3
RE: Вопрос по подключению к БД - 2008-11-18 14:06:16.093333   
horiz

Сообщений: 892
Оценки: 0
Присоединился: 2008-11-03 18:33:09.006666
Есть еще одна мысль.
Если на сайте есть дыра, и права криво расставлены, то попробуй читать файлы на сервере:
pg_read_file('bla.txt',1,20) - выводит указанный файл с 1го по 20 символ
pg_ls_dir('/') – данная функция выводит листинг указанной ей директории
(Если фильтруются кавычки, кодируй имена)
Так вот, прочитав, таким образом скрипты, в которых используется БД ты найдешь в них и юзера и его пароль в нешифрованном виде (а, возможно, они будут храниться в отдельном файле и подключатся через include, тогда читай и его).
Далеко не обязательно это будет рут, но все же коннектится к базе ты уже сможешь.
Post #: 4
RE: horiz - 2008-11-20 01:07:19.296666   
z0mbyak

Сообщений: 284
Оценки: 0
Присоединился: 2008-08-25 03:23:29.933333
Просьба мож конечно глупая…но…А можно по подробней рассказать про данную фишку?А то я чет не очень вообще понял…но разобраться хочется и надо:-)
Post #: 5
RE: horiz - 2008-11-20 11:00:38.873333   
horiz

Сообщений: 892
Оценки: 0
Присоединился: 2008-11-03 18:33:09.006666
Допустим, ты нашел на сайте инъекцию.
Работает запрос вида:
?id=-1+union+select+1,2,3– (кстати, учти, что в PostgreSQL количество присоединяемых столбцов может не совпадать с общим числом выводимых столбцов)
Допустим, при таком запросе в месте вывода контента появилась какая-нибудь цифра, из тех, что ты указал (допустим 2)
Значит, второе поле выводится.
И допустим через какую-то ошибку ты узнал полный путь до файла от корня. (допустим /www/site/)
Тогда, чтобы прочитать index.php (выбирай файлы, которые работают с базой) пиши:
?id=-1+union+select+1,pg_read_file("/www/site/index.php",1 , 1000),3–
Это чтение файла с1 по 1000 символ.
Если права расставлены криво, то ты увидишь часть текста запрашиваемого файла.
От 1 до 1000 я взял на вскидку, сам смотри, сколько тебе надо прочитать.
В файле смотри, под каким юзером и паролем происходит коннект к базе. Они там не зашифрованные.
P.S. Сам я с PostgreSQL не работал, но в мускуле это проскакивает на ура.
Будут вопросы, пиши в топик по SQL-инъекциям, а то про него совсем уже забыли.
Post #: 6
RE: horiz - 2008-11-21 20:12:11.773333   
horiz

Сообщений: 892
Оценки: 0
Присоединился: 2008-11-03 18:33:09.006666
И еще.
Если ты не знаешь полного пути к файлу, то попробуй вычислить его сам при помощи функции pg_ls_dir('/').
Сначала читаешь корневую директорию, потом прикинь, в какой папке могут лежать скрипты сервера.
В крайнем случае, тупым перебором всех директорий.
Таким образом, ты получишь полный путь от корня до файла (он может быть довольна длинным).

И главное:
Не забывай о такой прикольной фишке PostgreSQL как разделение запросов при помощи ; т.е. если скрипт коннектится к базе под рутом ты можешь добавить своего пользователя с нехилыми правами:)
Post #: 7
Страниц:  [1]
Все форумы >> [Для начинающих] >> Вопрос по подключению к БД







Связаться:
Вопросы по сайту / xakep@glc.ru

Предупреждение: использование полученных знаний в противозаконных целях преследуется по закону.