Вопрос по подключению к БД
Пользователи, просматривающие топик: 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 (надо поиздеваться над админом) Помогите разобраться…если можно то с примерами. заранее пасибо.
|
|
|
RE: Вопрос по подключению к БД - 2008-11-17 09:37:22.096666
|
|
|
horiz
Сообщений: 892
Оценки: 0
Присоединился: 2008-11-03 18:33:09.006666
|
Если я тебя правильно понял, то твой сканер нашел возможность удаленного подключения к базе данных. Единственное, я не понял, что это за формат учетки. Я такие вещи проделывал только с мускулом, поэтому объясню на его примере (вряд ли будут большие отличия). В общих чертах это делается так: если ты знаешь имя юзера (которому разрешено коннектиться к базе из внешнего мира) и его пароль то запускаешь клиента (желательно графического) и в параматрах подключения пропиши адрес сайта, порт, имя юзера, пароль и имя базы данных (если ее не знаешь, пиши information_schema). Все остальные действия зависят от того, сколько прав у юзера, под которым ты зашел. Если нет клиенты, можно накатать скрипт на PHP, который пройдется по всей базе и соберет для тебя все, а потом с его помощью можно что-нибудь подредактировать в базе. А если тебе известно только имя пользователя, то надо искать на сайте дыры для инъекций и пытать вытащить и юзеров и пароли из базы. Пароли будут зашифрованы, их придется вскрывать. В таком случае я тебе советую сразу искать учетку рута и брутить уже его пароль.
|
|
|
RE: Вопрос по подключению к БД - 2008-11-17 17:37:55.016666
|
|
|
z0mbyak
Сообщений: 284
Оценки: 0
Присоединился: 2008-08-25 03:23:29.933333
|
Нашел хеш для админского пароля! пасибо за подсказку, кстати кто-нить знает хорошие сервисы по расшифровке md5 а то я по форуму полазил там либо уже мертвые либо нету в базе…Заранее благодарю.
|
|
|
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, тогда читай и его). Далеко не обязательно это будет рут, но все же коннектится к базе ты уже сможешь.
|
|
|
RE: horiz - 2008-11-20 01:07:19.296666
|
|
|
z0mbyak
Сообщений: 284
Оценки: 0
Присоединился: 2008-08-25 03:23:29.933333
|
Просьба мож конечно глупая…но…А можно по подробней рассказать про данную фишку?А то я чет не очень вообще понял…но разобраться хочется и надо:-)
|
|
|
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-инъекциям, а то про него совсем уже забыли.
|
|
|
RE: horiz - 2008-11-21 20:12:11.773333
|
|
|
horiz
Сообщений: 892
Оценки: 0
Присоединился: 2008-11-03 18:33:09.006666
|
И еще. Если ты не знаешь полного пути к файлу, то попробуй вычислить его сам при помощи функции pg_ls_dir('/'). Сначала читаешь корневую директорию, потом прикинь, в какой папке могут лежать скрипты сервера. В крайнем случае, тупым перебором всех директорий. Таким образом, ты получишь полный путь от корня до файла (он может быть довольна длинным). И главное: Не забывай о такой прикольной фишке PostgreSQL как разделение запросов при помощи ; т.е. если скрипт коннектится к базе под рутом ты можешь добавить своего пользователя с нехилыми правами:)
|
|
|
|
|