RCE with PostgreSQL Languages
Last updated
Last updated
Aprende y practica Hacking en AWS:HackTricks Training AWS Red Team Expert (ARTE) Aprende y practica Hacking en GCP: HackTricks Training GCP Red Team Expert (GRTE)
La base de datos de PostgreSQL a la que tienes acceso puede tener diferentes lenguajes de scripting instalados que podrías abusar para ejecutar código arbitrario.
Puedes hacer que se ejecuten:
La mayoría de los lenguajes de scripting que puedes instalar en PostgreSQL tienen 2 sabores: el confiable y el no confiable. El no confiable tendrá un nombre terminado en "u" y será la versión que te permitirá ejecutar código y usar otras funciones interesantes. Estos son lenguajes que, si están instalados, son interesantes:
plpythonu
plpython3u
plperlu
pljavaU
plrubyu
... (cualquier otro lenguaje de programación que use una versión insegura)
Si encuentras que un lenguaje interesante está instalado pero no confiable por PostgreSQL (lanpltrusted
es false
) puedes intentar confiarlo con la siguiente línea para que no se apliquen restricciones por parte de PostgreSQL:
Si no ves un lenguaje, podrías intentar cargarlo con (necesitas ser superadministrador):
Tenga en cuenta que es posible compilar las versiones seguras como "inseguras". Consulte esto como ejemplo. Así que siempre vale la pena intentar si puede ejecutar código incluso si solo encuentra instalada la confiable.
Consulta la siguiente página:
PL/pgSQL Password BruteforceConsulta la siguiente página:
RCE with PostgreSQL ExtensionsAprende y practica Hacking en AWS:HackTricks Training AWS Red Team Expert (ARTE) Aprende y practica Hacking en GCP: HackTricks Training GCP Red Team Expert (GRTE)