[Duda Phpmyadmin] Donde estan los dichosos Tokens ??

Iniciado por Rienzi, 18 Enero 2009, 15:44 PM

0 Miembros y 1 Visitante están viendo este tema.

Rienzi

Hola!, llevo ya un rato ojeando paginas pero no logro encontrar nada factible sobre los Token en phpmyadmin el caso es que  estoy con la sesion iniciada dentro de phpmyadmin pero no se de donde sacar el Token actual de la sesion para comprobar si es vuln a esta inject:

/server_databases.php?pos=0&dbstats=0&sort_by="]) OR exec('cp $(pwd)"/config.inc.php" config.txt'); //&sort_order=desc&token=[valid token]

salu2.

WHK

#1
Lo que sucede es que para que un usuario de Phpmyadmin ejecute una inyección de comandos arbitrario en contra de su voluntad necesitas hacerlo mediante un CSRF y eso se evita mediante ese token que es un hash de seguridad que se asigna aleatoriamente y va cambiando cada vesque cambias de página.

Ahora eso de la inyección puede servirte en el caso de que tengas acceso a ese phpmyadmin, el token lo puedes sacar viendo el código fuente del frame que está al costado derecho o copiando algún link de ese frame y lo pegas en un texto, verás que aparece el token, luego escribes tu sql inyección y le ingresas ese token pero como te digo , remotamente sin acceso no podrás a menos que encuentres alguna variable vulnerable que no pida ese token.

Haz la prueba y entra en un phpmyadmin propio y copia el link de un botón, luego lo pegas en tu explorador y le borras el token.. podrás ver que no realiza lo que pides en ese link porque el token es inválido.

Espero que te pueda servir esta información.

Citar/server_databases.php?pos=0&dbstats=0&sort_by="]) OR exec('cp $(pwd)"/config.inc.php" config.txt'); //&sort_order=desc&token=[valid token]
Lo copiaste de una web con htmlencode, el link real es

Citar
server_databases.php?pos=0&dbstats=0&sort_by=[acá pones tu inyección de comandos]&sort_order=desc&token=[acá va el token de seguridad]

Inyección : "]) OR exec('cp $(pwd)"/config.inc.php" config.txt');

Lo mas probable es que eso fue procesado por un eval() y por eso te permite escapar con "]) ahora si esto es así significa que la prueba de ejemplo que diste está mal hecha ya que debolverá un error en la sintaxis, para eso aparte de cerrar la cadena hay que volver a abrirla para que la ejecución siga su curso normal.

"]); OR exec('cp $(pwd)"/config.inc.php" config.txt'); OR printf($x["

Rienzi

Muchas gracias ^^ era justo lo que buscaba, es curioso ahora me permite escribir y crear tablas dentro de una base de datos, curioso...