/phpmyadmin/ ¿Grave error?

Iniciado por Xyzed, 6 Abril 2021, 06:27 AM

0 Miembros y 2 Visitantes están viendo este tema.

Xyzed

Hola,

varias veces me cruce con algún que otro sitio que utiliza phpMyAdmin como gestor para administrar MySQL, y que tenía dicho directorio a la vista y acceso de todos.
Es increíble realmente, la cantidad de sitios que poseen estas fallas sin tener la mínima noción de esto.

Debido a eso me surge una pregunta;
¿Además de la probabilidad de que realicen un ataque de fuerza bruta, o la afección que pueden tener por culpa del setup al alcance de cualquiera, hay algún otro riesgo que se corre?, ¿algún otro directorio al que no deberían tener acceso los usuarios sin privilegios?


Saludos.
...

WHK

#1
Hola, para comenzar phpmyadmin no es una herramienta oficial de mysql asi que es susceptible a fallos en su funcionamiento, no solo en su seguridad ya que este no tiene un soporte oficial.

Segundo, phpmyadmin está escrito sobre php y php tiene muchas limitaciones con respecto al manejo del buffer, tamaño de variables, tiempo máximo de ejecución, flush implícito, problemas con las iteraciones y estados finitos y un largo etc, por ejemplo, cuando haces backups de más de 500mb de base de datos phpmyadmin tiende a fallar y terminas con una descarga corrupta e incompleta que en la última línea te dice que hubo un error de php, también te encontrarás con secuencia de caracteres no permitidos y funciones no existentes debido al uso legacy interno del mismo phpmyadmin.

Tercero, phpmyadmin está muy lejos de ser una herramienta segura, es totalmente desaconsejable tener un panel web expuesto para administrar un servidor, de hecho tener cpanel expuesto es una pésima práctica, para ello debes utlizar las herramientas oficiales, soportadas y con acceso únicamente para el administrador de sistemas, por ejemplo, a traves de una red vpn, tunnel socks5 (vía ssh), etc.

Cuarto, para la gestión de mysql o mariadb puedes utilizar mysql workbench vía tunnel ssh (ya que el servicio de la db nunca debería estar expuesta hacia internet), internamente para hacer respaldos puedes utilizar mysqldump el cual está diseñado para crear respaldos de manera eficiente, rápida y sin conflictos de importación (como si pasa con phpmyadmin y algunos encoding).

Por otro lado, phpmyadmin tiene muchas cosas que proteger, archivos de configuración que están en el mismo directorio raiz público, clases de ejecución de funciones php, etc. Si lo vas a usar es mejor que lo pongas unicamente bajo acceso desde localhost, pero de todas maneras te recomiendo que no lo uses.

Ahora, con respecto a que cosas habría que considerar como punto vulnerable de phpmyadmin puedes dar un vistazo acá:

https://www.cvedetails.com/vulnerability-list/vendor_id-784/cvssscoremin-7/cvssscoremax-7.99/Phpmyadmin.html

Saludos.

Xyzed

Hola @WHK.

Hace rato desconsidere utilizar phpMyAdmin debido a los reiterados problemas que tuve bajo su ejecución y el conocimiento de algunos riesgos que sabia de la utilización de está "herramienta".

Muchas gracias por la clara respuesta, saludos.
...

BloodSharp

Cita de: Xyzed en  6 Abril 2021, 06:27 AM¿hay algún otro riesgo que se corre?, ¿algún otro directorio al que no deberían tener acceso los usuarios sin privilegios?

En el pasado se encontró muchas vulnerabilidades, acá hay una imagen de todas las que aparecen en exploit-db, quizás si se lo analiza el como funciona se pueda encontrar una nueva vulnerabilidad...




B#



AlbertoBSD

A mi en lo personal me gusta phpmyadmin, usualmente trabajo con la terminal pero cuando quiero algo mas visual y que sea web phpmyadmin es mi opción.

En lo personal siempre cambio el nombre al directorio raiz, y solo para mi uso personal.

Saludos!
Donaciones
1Coffee1jV4gB5gaXfHgSHDz9xx9QSECVW

el-brujo

el phpMyAddmin/setup es algo ya bastante viejo.

URI
/phpMyAdmin/setup/index.php

En las nuevas versiones ya no aparece el error.

CitarphpMyAdmin - Error
Configuration already exists, setup is disabled!

phpMyAdmin es potencialmente vulnerable como cualquier script php, pero es más peligroso al dar acceso al MySQL/MariaDB, yo tampoco lo expondría públicamente sin proteger antes de alguna manera.

En los paneles de control Plesk lo tienen instalado, pero la URL no es pública, hay que acceder vía Plesk y te genera un token para poder entrar.

Creo que phpMyAdmin es una herramienta muy utilizada y muy práctica, pero potencialmente peligrosa y con muchas limitaciones como WHK comenta (ficheros grandes, etc)

Otra opción es proteger el directorio a sólo una IP, por ejemplo:

# phpMyAdmin protegido

<Directory /home/usuario/public_html/phpMyAdmin>
<IfModule mod_authz_core.c>
# Apache 2.4
Require all denied
                Require ip 91.126.217.153
</IfModule>
</Directory>