Problemas con una aplicacion LAMP

Iniciado por patillotes, Noviembre 21, 2011, 03:11:19 PM

Tema anterior - Siguiente tema

patillotes

Hola. Os cuento el problema:

- Me han encargado cargar una serie de datos de alumnos a un software de gestion de bibliotecas (PMB phpmybibli)
- La parte de pasar los datos del formato XML en el que estaban a una especie de CSV para importarlos esta hecha.
- El tema esta en que las bibliotecarias quieren que cada alumno muestre su grupo en la ficha.
- El dato lo tengo, pero la rutina de importacion pasa de mi.
- La documentacion del programa es pobre, se supone que se puede añadir algun campo extra, pero no va, o no es lo que parece.

Pues bien, lo que he pensado es lo siguiente:
- Ya que las tablas y sus campos estan bastante bien documentadas.
- Me conecto a mysql, me hago un script con los datos y añado automaticamente cada usuario a su grupo con un INSERT INTO o la vaina que toque.

Y aqui viene el problema:
- No tengo permisos de administrador de la maquina. Pero estoy en local y voy a pedir permiso para machacarla.
- No tengo ni idea de la contraseña de la BD.
- Es mas, tengo una experiencia muy limitada con BD en el mundo real y no por donde machacarla aun en local.
- He intentado (desde /usr/share/www) cosas como 'grep -i -d recurse "PASS" *' y veo muchos trozos del codigo en php, pero no la clave.

¿Donde puede estar eso?, ¿como me lo cepillo?, ¿se guardara en algun trozo de codigo en php para hacer la conexion inicial?  ??? ???

Baku

¿Tienes permisos de administrador de mysql? si es así­ puedes entrar saltandote la seguridad.

mysql --skip-grant-tables.

de todas formas debes saber donde meter la contraseña.

Busca config.php, settings.php o algo así­.

Si no en la tabla users de mysql estará el nombre de usuario, te servirá de pista para el grep.
It's very difficult todo esto.

patillotes

No tengo permisos de ningun tipo. Cuando tenga los de root me tendre que buscar la vida con mysql.

Asi que la contraseña estara guardada en la aplicacion, ok.

Baku

Cita de: patillotes en Noviembre 21, 2011, 04:03:33 PM
No tengo permisos de ningun tipo. Cuando tenga los de root me tendre que buscar la vida con mysql.

Asi que la contraseña estara guardada en la aplicacion, ok.

Casi seguro si es php.

También puede ir ligada al usuario de login, pero entonces la puedes cambiar directamente en el MySql con el update apropiado en la tabla user.
It's very difficult todo esto.

patillotes


patillotes

Estoy en local. Sin permisos de root:

find / -iname "conf*php" 2> /dev/null
/usr/share/pmb/www/includes/config.inc.php
/etc/lliurex-lwat/config.php


find / -iname "set*php" 2> /dev/null
/usr/share/pmb/www/catalog/expl/setcb.php
/usr/share/pmb/www/catalog/setcb.php
/usr/share/pmb/www/circ/setcb.php


--------------

Estoy mirandolos aun, pero ninguno parece tener la informacion necesaria.

patillotes

En un tal /usr/share/pmb/www/includes/mysql_connect.inc.php:

$my_connec = @mysql_connect(SQL_SERVER, USER_NAME, USER_PASS);

Entiendo que eso crea la conexion a la DB. Me voy buscando donde se declaran USER_NAME y USER_PASS, ¿no?

Otra cosa, ¿¿en php las variables llevan sigil como en Perl??

patillotes

Mas cosas, un grepeado de "mysql_connect" en el codigo me dice esto:
admin/sauvegarde/emergency/transfertdata_upload.php:   @$link=mysql_connect($_POST["host"], $_POST["db_user"], $_POST["db_password"]) or die("Impossible de se connecter au serveur MySql en tant qu'admin USER_NAME "); // Le @ ordonne a php de ne pas afficher de message d'erreur

includes/mysql_connect.inc.php:   $my_connec = @mysql_connect(SQL_SERVER, USER_NAME, USER_PASS);

tables/install_rep.php:         @$link=mysql_connect($dbhost,$user,$password) or die("Impossible de se connecter au serveur MySql en tant que $user "); // Le @ ordonne a php de ne pas afficher de message d'erreur


----------
Y mas cosas asi. Quicir, yo no se cuantas variables se usan para el usuario de la DB.

Otra cosa:
- SQL_SERVER, sin sigil, ¿¿es una variable??

patillotes

Veo que lo define asin:

define('SQL_SERVER', '".$dbhost."');
define('SQL_SERVER', 'localhost');

Mas:
USER_NAME
--------------

admin/sauvegarde/emergency/transfertdata_upload.php:   @$link=mysql_connect($_POST["host"], $_POST["db_user"], $_POST["db_password"]) or die("Impossible de se connecter au serveur MySql en tant qu'admin USER_NAME "); // Le @ ordonne a php de ne pas afficher de message d'erreur
admin/convert/export_z3950_new.php:if (!@mysql_connect(SQL_SERVER,USER_NAME,USER_PASS)) make_error(1,"Could'nt connect to database server");
admin/convert/export_z3950.php:if (!@mysql_connect(SQL_SERVER,USER_NAME,USER_PASS)) make_error(1,"Could'nt connect to database server");
circ/listado-carnets.inc.php:$link2 = @mysql_connect(SQL_SERVER, USER_NAME, USER_PASS) OR die("Error MySQL");
copia_seg_importa.php: $comando= "cat ". $nomfich ." | mysql -u ". USER_NAME ." --password=". USER_PASS ." ". DATA_BASE;
copia_seg.php:$comando= "mysqldump -u ". USER_NAME ." --password=". USER_PASS ." --opt ". DATA_BASE . " >" .$temp.$fich;
doc/install.txt:        define('USER_NAME', 'utilisateur_pmb');                   //nom utilisateur
includes/db_param.inc.php:      define('USER_NAME', 'username');   // nom utilisateur
includes/db_param.inc.php:      define('USER_NAME', "$dbuser");      // nom utilisateur
includes/db_param.inc.php:      define('USER_NAME', 'bibli');      // nom utilisateur
includes/db_param.inc.php:$dsn_pear = SQL_TYPE."://".USER_NAME.":".USER_PASS."@".SQL_SERVER."/".DATA_BASE;
includes/db_param.inc.php_example:      define('USER_NAME', 'username');// nom utilisateur
includes/db_param.inc.php_example:      define('USER_NAME', 'bibli');   // nom utilisateur
includes/db_param.inc.php_example:      define('USER_NAME', 'bibli');   // nom utilisateur
includes/db_param.inc.php_example:$dsn_pear = SQL_TYPE."://".USER_NAME.":".USER_PASS."@".SQL_SERVER."/".DATA_BASE ;
includes/mysql_connect.inc.php:   $my_connec = @mysql_connect(SQL_SERVER, USER_NAME, USER_PASS);
main.php:         $comando= "cat ./tables/locations.sql | mysql -u ". USER_NAME ." --password=". USER_PASS ." ". DATA_BASE;
opac_css/includes/opac_db_param.inc.php:      define('USER_NAME', 'username');   // nom utilisateur
opac_css/includes/opac_db_param.inc.php:      define('USER_NAME', $dbuser);      // nom utilisateur
opac_css/includes/opac_db_param.inc.php:      define('USER_NAME', 'bibli');         // nom utilisateur
opac_css/includes/opac_db_param.inc.php:$dsn_pear = SQL_TYPE."://".USER_NAME.":".USER_PASS."@".SQL_SERVER."/".DATA_BASE ;
opac_css/includes/opac_mysql_connect.inc.php:      $my_connec = @mysql_connect(SQL_SERVER, USER_NAME, USER_PASS);
opac_css/includes/opac_db_param.inc.php_example:      define('USER_NAME', 'username');   // nom utilisateur
opac_css/includes/opac_db_param.inc.php_example:      define('USER_NAME', 'bibli');      // nom utilisateur
opac_css/includes/opac_db_param.inc.php_example:      define('USER_NAME', 'bibli');         // nom utilisateur
opac_css/includes/opac_db_param.inc.php_example:$dsn_pear = SQL_TYPE."://".USER_NAME.":".USER_PASS."@".SQL_SERVER."/".DATA_BASE ;
tables/install_rep.php:      define('USER_NAME', 'username');   // nom utilisateur
tables/install_rep.php:      define('USER_NAME', '".$dbuser."');      // nom utilisateur
tables/install_rep.php:      define('USER_NAME', 'bibli');         // nom utilisateur
tables/install_rep.php:\$dsn_pear = SQL_TYPE.\"://\".USER_NAME.\":\".USER_PASS.\"@\".SQL_SERVER.\"/\".DATA_BASE ;
tables/install_rep.php:      define('USER_NAME', 'username');   // nom utilisateur
tables/install_rep.php:      define('USER_NAME', '".$dbuser."');      // nom utilisateur
tables/install_rep.php:      define('USER_NAME', 'bibli');         // nom utilisateur
tables/install_rep.php:\$dsn_pear = SQL_TYPE.\"://\".USER_NAME.\":\".USER_PASS.\"@\".SQL_SERVER.\"/\".DATA_BASE ;
tejuelo.php:$link2 = @mysql_connect(SQL_SERVER, USER_NAME, USER_PASS) OR die("Error MySQL");
usur_exp.php:$link2 = @mysql_connect(SQL_SERVER, USER_NAME, USER_PASS) OR die("Error MySQL");
usur_imp_itaca.php: $link2 = @mysql_connect(SQL_SERVER, USER_NAME, USER_PASS) OR die("Error MySQL");
usur_imp.php: $link2 = @mysql_connect(SQL_SERVER, USER_NAME, USER_PASS) OR die("Error MySQL");
zserver/export_z3950.php:if (!@mysql_connect(SQL_SERVER,USER_NAME,USER_PASS)) make_error(1,"Could'nt connect to database server");


USER_PASS
--------------

admin/convert/export_z3950_new.php:if (!@mysql_connect(SQL_SERVER,USER_NAME,USER_PASS)) make_error(1,"Could'nt connect to database server");
admin/convert/export_z3950.php:if (!@mysql_connect(SQL_SERVER,USER_NAME,USER_PASS)) make_error(1,"Could'nt connect to database server");
circ/listado-carnets.inc.php:$link2 = @mysql_connect(SQL_SERVER, USER_NAME, USER_PASS) OR die("Error MySQL");
copia_seg_importa.php: $comando= "cat ". $nomfich ." | mysql -u ". USER_NAME ." --password=". USER_PASS ." ". DATA_BASE;
copia_seg.php:$comando= "mysqldump -u ". USER_NAME ." --password=". USER_PASS ." --opt ". DATA_BASE . " >" .$temp.$fich;
doc/install.txt:        define('USER_PASS', 'mot_de_passe');                   //mot de passe
includes/db_param.inc.php:      define('USER_PASS', 'userpwd');      // mot de passe
includes/db_param.inc.php:      define('USER_PASS', "$dbpass");      // mot de passe
includes/db_param.inc.php:      define('USER_PASS', 'bibli');         // mot de passe
includes/db_param.inc.php:$dsn_pear = SQL_TYPE."://".USER_NAME.":".USER_PASS."@".SQL_SERVER."/".DATA_BASE;
includes/db_param.inc.php_example:      define('USER_PASS', 'userpwd');      // mot de passe
includes/db_param.inc.php_example:      define('USER_PASS', 'bibli');      // mot de passe
includes/db_param.inc.php_example:      define('USER_PASS', 'bibli');         // mot de passe
includes/db_param.inc.php_example:$dsn_pear = SQL_TYPE."://".USER_NAME.":".USER_PASS."@".SQL_SERVER."/".DATA_BASE ;
includes/mysql_connect.inc.php:   $my_connec = @mysql_connect(SQL_SERVER, USER_NAME, USER_PASS);
main.php:         $comando= "cat ./tables/locations.sql | mysql -u ". USER_NAME ." --password=". USER_PASS ." ". DATA_BASE;
opac_css/includes/opac_db_param.inc.php:      define('USER_PASS', 'userpwd');      // mot de passe
opac_css/includes/opac_db_param.inc.php:      define('USER_PASS', $dbpass);      // mot de passe
opac_css/includes/opac_db_param.inc.php:      define('USER_PASS', 'bibli');         // mot de passe
opac_css/includes/opac_db_param.inc.php:$dsn_pear = SQL_TYPE."://".USER_NAME.":".USER_PASS."@".SQL_SERVER."/".DATA_BASE ;
opac_css/includes/opac_mysql_connect.inc.php:      $my_connec = @mysql_connect(SQL_SERVER, USER_NAME, USER_PASS);
opac_css/includes/opac_db_param.inc.php_example:      define('USER_PASS', 'userpwd');      // mot de passe
opac_css/includes/opac_db_param.inc.php_example:      define('USER_PASS', 'bibli');      // mot de passe
opac_css/includes/opac_db_param.inc.php_example:      define('USER_PASS', 'bibli');         // mot de passe
opac_css/includes/opac_db_param.inc.php_example:$dsn_pear = SQL_TYPE."://".USER_NAME.":".USER_PASS."@".SQL_SERVER."/".DATA_BASE ;
tables/install_rep.php:      define('USER_PASS', 'userpwd');      // mot de passe
tables/install_rep.php:      define('USER_PASS', '".$dbpassword."');      // mot de passe
tables/install_rep.php:      define('USER_PASS', 'bibli');         // mot de passe
tables/install_rep.php:\$dsn_pear = SQL_TYPE.\"://\".USER_NAME.\":\".USER_PASS.\"@\".SQL_SERVER.\"/\".DATA_BASE ;
tables/install_rep.php:      define('USER_PASS', 'userpwd');      // mot de passe
tables/install_rep.php:      define('USER_PASS', '".$dbpassword."');      // mot de passe
tables/install_rep.php:      define('USER_PASS', 'bibli');         // mot de passe
tables/install_rep.php:\$dsn_pear = SQL_TYPE.\"://\".USER_NAME.\":\".USER_PASS.\"@\".SQL_SERVER.\"/\".DATA_BASE ;
tejuelo.php:$link2 = @mysql_connect(SQL_SERVER, USER_NAME, USER_PASS) OR die("Error MySQL");
usur_exp.php:$link2 = @mysql_connect(SQL_SERVER, USER_NAME, USER_PASS) OR die("Error MySQL");
usur_imp_itaca.php: $link2 = @mysql_connect(SQL_SERVER, USER_NAME, USER_PASS) OR die("Error MySQL");
usur_imp.php: $link2 = @mysql_connect(SQL_SERVER, USER_NAME, USER_PASS) OR die("Error MySQL");
zserver/export_z3950.php:if (!@mysql_connect(SQL_SERVER,USER_NAME,USER_PASS)) make_error(1,"Could'nt connect to database server");

patillotes

Las combinaciones de

bibli:bibli:bibli
username:userpwd:dbname

No me furulan. Gney

patillotes


Baku

#11
Es muy posible que entre los "require" de la página principal (habitualmente index.php aquí­ es main.php) esté el nombre del archivo que carga los parámetros de configuración.

Algo así­:


require_once(dirname(__FILE__) . '/Settings.php');
It's very difficult todo esto.

Baku

La pinta es que es este:

includes/db_param.inc.php


¿Qué error te da al conectar?

It's very difficult todo esto.

patillotes

Ya lo tengo. No se en que archivo estaba, pero al entrar como root habia un archivo explicativo. Mañana a hacerme el script. Luego doy mas detalles, que estoy chopado.

patillotes

Y hoy todos los datos metidos en la DB. Mi primera vez con un script de Perl. Luego lo cuelgo y pregunto a los sabios del lugar si la consulta la he hecho guay o se puede mejorar, etc.