RCE with PostgreSQL Languages
Last updated
Last updated
Aprenda e pratique Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE) Aprenda e pratique Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)
O banco de dados PostgreSQL ao qual você teve acesso pode ter diferentes linguagens de script instaladas que você poderia abusar para executar código arbitrário.
Você pode fazer com que elas funcionem:
A maioria das linguagens de script que você pode instalar no PostgreSQL tem 2 sabores: o confiável e o não confiável. O não confiável terá um nome terminado em "u" e será a versão que permitirá que você execute código e use outras funções interessantes. Essas são linguagens que, se instaladas, são interessantes:
plpythonu
plpython3u
plperlu
pljavaU
plrubyu
... (qualquer outra linguagem de programação usando uma versão insegura)
Se você descobrir que uma linguagem interessante está instalada mas não confiável pelo PostgreSQL (lanpltrusted
é false
), você pode tentar confiá-la com a seguinte linha para que nenhuma restrição seja aplicada pelo PostgreSQL:
Se você não vê uma linguagem, pode tentar carregá-la com (você precisa ser superadmin):
Observe que é possível compilar as versões seguras como "inseguras". Confira isso como exemplo. Portanto, sempre vale a pena tentar se você pode executar código, mesmo que você encontre apenas a versão confiável instalada.
Verifique a seguinte página:
PL/pgSQL Password BruteforceVerifique a seguinte página:
RCE with PostgreSQL ExtensionsAprenda e pratique Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE) Aprenda e pratique Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)