Connect
psql -h <Target_IP> -p <Target_Port> -U <Username>
psql -h 10.10.10.10 -p 5432 -U postgresCode Execution
pg_execute_server_program권한을 보유한 경우, 쉘코드 실행 가능Superuser권한이 있는경우,pg_execute_server_program권한을부여(grant)하거나,취소(revoke)할 수 있음.
권한 확인
Command
# 코드 실행 권한 확인
SELECT pg_has_role('<로그인_계정>', 'pg_execute_server_program', 'member');
# 사용자 계정 권한 확인
\du [UserName]Expected Output

권한 부여 및 회수
- 기본적으로
Superuser가 활성화된 계정은Revoke이후에도pg_execute_server_program권한이true로 노출되며, 코드 실행이 가능하다.
GRANT pg_execute_server_program TO <your_username>;
REVOKE pg_execute_server_program FROM <your_username>;