alguien me puede orientar un poco

Iniciado por andres199, 9 Noviembre 2010, 16:54 PM

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

andres199

hola a todos

el caso es este

llevo varios dias mirando en el codigo fuente de una pagina y me encontre lo siguiente



<?PHP
include('config.php');
include('includes/functions.php');

ini_set("display_errors", "1");
//include("wrapper/adodb-exceptions.inc.php");
include("includes/adodb5/adodb.inc.php");

define('ADODB_ASSOC_CASE', 1);
$ADODB_FETCH_MODE = ADODB_FETCH_ASSOC;
switch (@$_GET['db']) {
case '1':
$db = ADONewConnection($_config['db_type']);
$db->locale = 'us_english';
$db->debug = $_config['dbdebug'];
$rs = $db->PConnect($_config['Server'], $_config['User'], $_config['Pass'], $_config['DB']) or die("Unable to connect!");
    break;
case '2':
$db = ADONewConnection($_config['db_type']);
$db->locale = 'us_english';
$db->debug = $_config['dbdebug'];
$rs = $db->PConnect($_config['Server'], $_config['User'], $_config['Pass'], $_config['DB2']) or die("Unable to connect!");
break;
case '3':
$db = ADONewConnection($_config['db_type']);
$db->locale = 'us_english';
$db->debug = $_config['dbdebug'];
$rs = $db->PConnect($_config['Server'], $_config['User'], $_config['Pass'], $_config['DB3']) or die("Unable to connect!");
break;
}
$db->Execute('SET ANSI_NULLS ON');
$db->Execute('SET ANSI_WARNINGS ON');
$tbl = $db->Execute("select * from information_schema.tables where TABLE_TYPE = 'base Table'");

echo '<table width="100%" cellpadding=4>';
echo '<tr>';

echo '<td rowspan=3 valign="top">';
foreach ($tbl as $tb) {
echo '<li>'.$tb['TABLE_CATALOG'].'.dbo.'.$tb['TABLE_NAME'].'</li>';
}
echo '</td>';
echo '<td valign="top">';
echo '<form method="GET"><input name="query" type="text" value="'.$_GET['query'].'" size="100"><input type="hidden" name="db" value="'.$_GET['db'].'"><input type="submit" value="Query"></form>';

echo '</td>';
echo '</tr>';
echo '<tr>';
echo '<td valign="top">';
if ($_GET['query']) {
$db->debug=1;
echo 'running query...<br/>';

$q = $db->Execute($_GET['query']);
echo $db->ErrorMsg();
echo '<table width="100%" cellpadding=4 border="1">';
foreach ($q as $tb) {
$data .= '<tr>';
$header = '<tr>';
foreach ($tb as $h => $t) {

if (ctype_upper(preg_replace("/[^a-zA-Z0-9s]/", "", $h)))  {
$header .= '<td>'.$h.'</td>';
if (in_array($h, array('DWSERIALNUMBER','INFO'))) $t = bin2hex($t).'-'. hexdec($t);
$data .= '<td>'.$t.'</td>';
}
}
$header .= '</tr>';
$data .= '</tr>';
}
echo $header .$data;

echo '</table>';
}

echo '</td>';
echo '</tr>';


echo '</table>';

?>



*si en mi navegador pongo    http://url-del-site/nobre-de-archivo.php?db=1

se supone que con esa cadena establesco una conexion ( case '1': ) con db ( base de datos numero 1)



* http://url-del-site/nobre-de-archivo.php?db=2

con esa cadena establesco una conexion ( case '2': ) con db2 ( base de datos numero 2)




* http://url-del-site/nobre-de-archivo.php?db=3


con esa cadena establesco una conexion ( case '3': ) con db3 ( base de datos numero 3)



mis preguntas son las siguientes

1). ¿como podria aprovechar esto?

2). ¿ como puedo averiguar los datos  $rs = $db->PConnect($_config['Server'], $_config['User'], $_config['Pass'], $_config['DB'])

salu2

xassiz~

1.- ¿Aprovechar en qué sentido?
2.- ¿Tal vez en el archivo config.php?

seele

supongo que esto tiene que ver con tus temas anteriores en los cuales ponias vulnerabilidades....

no entiendo del todo el objetivo de todo este ejercicio....seguridad propia? atacar a alguien?....
por que si es atacar a alguien y ya puedes leer el php sin problemas pues como que no necesitas de una vulnerabilidad web...

andres199

si esos datos se encuentran en el archivo config.php  ,  pero no eh podido acceder a ese archivo  la unica manera de acceder a esos datos es por medio de otros archivos como el que acavo de exponer.

puesto que el servidor rechaza y no deja abrir el archivo config.php desde afuera, toca averiguar esos datos desde el mismo servidor y aprovechando los archivos que requieren de estos datos :)

andres199

#4
Cita de: seele en  9 Noviembre 2010, 17:13 PM
supongo que esto tiene que ver con tus temas anteriores en los cuales ponias vulnerabilidades....

no entiendo del todo el objetivo de todo este ejercicio....seguridad propia? atacar a alguien?....
por que si es atacar a alguien y ya puedes leer el php sin problemas pues como que no necesitas de una vulnerabilidad web...


bueno aclaro
1).  si enrealidad si tiene que ver con mis temas anteriores.

2).  lo hago para aprender mas sobre esto.

3). seguridad propia

4). atacar al chico que dice tener mas seguridad que la casa blanca de los Estados Unidos :)


salu2


PD.  no penseis que soy uno de esos que anda con lammeradas  y destruyendo lo que asu paso encuentra ;)

seele

los puntos 3 y 4 son contradictorios :P

porque no puedes acceder al archivo config si esta en el mismo directorio que el que expones?

andres199


si es claro que esta en el mismo directorio por eso lo cita en esta cadena

include('config.php');

al citarlo de esa manera se refiere que esta en el mismo dir.

seele

yo pregunto.....como estas viendo el contenido de ese archivo php?  :xD

andres199

Cita de: seele en  9 Noviembre 2010, 17:40 PM
yo pregunto.....como estas viendo el contenido de ese archivo php?  :xD


esos archivos estan accesibles, con googlecrome puedes explorar todo su codigo fuente, pero como te digo me denega el acceso al archivo config.php

seele

disculpame pero.... via browser no podes ver el codigo php que expones, por eso pregunto...