добавление прав через RDB$USER_PRIVILEGES

Как защититься от хаков, спрятать БД и прочие премудрости и настройки

Модератор: kdv

Ответить
zigorzn
Сообщения: 27
Зарегистрирован: 03 фев 2008, 09:16

добавление прав через RDB$USER_PRIVILEGES

Сообщение zigorzn » 04 апр 2013, 13:22

Добрый день.

Пользователь раздает сам себе права через вставку записи в RDB$USER_PRIVILEGES

INSERT INTO RDB$USER_PRIVILEGES
(RDB$USER, RDB$GRANTOR, RDB$PRIVILEGE, RDB$GRANT_OPTION, RDB$RELATION_NAME, RDB$FIELD_NAME, RDB$USER_TYPE, RDB$OBJECT_TYPE)
VALUES
(<пользователь>, <пользователь>, 'M', 1, 'RDB$ADMIN', NULL, 8, 13);

Подключается под этой ролью и начинает под этой ролью работать.
Самое страшное, что он может таким образом выдаваль права на любую роль включая 'RDB$ADMIN'.
Удалить эту запись он не может. Так этот "вредитель" и был пойман.

как устранить эту возможность? :?:

FB 2.5.1.26351 Win32

kdv
Forum Admin
Сообщения: 6595
Зарегистрирован: 25 окт 2004, 18:07

Re: добавление прав через RDB$USER_PRIVILEGES

Сообщение kdv » 06 ноя 2014, 17:02

чтобы закрыть вопрос
баг зарегистрирован в трекере (если не ошибаюсь, то именно этот)
http://tracker.firebirdsql.org/browse/CORE-4341

Кроме того, в Firebird 3 прямая модификация таблиц RDB$ запрещена.

Ответить