RCE with PostgreSQL Languages
Lenguajes de PostgreSQL
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.
plpythonu/plpython3u
pgSQL
Consulta la siguiente página:
PL/pgSQL Password BruteforceC
Consulta la siguiente página:
RCE with PostgreSQL ExtensionsLast updated