Inyeccion SQL (mysql) dentro de un DELETE

Iniciado por k-r-1-0-5, 17 Febrero 2009, 17:27 PM

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

k-r-1-0-5

Holas.. Resulta que tengo el codigo de un sitio al cual quiero hacerle una pequeña inyeccion no dañina.. (En serio)..
Tengo la instuicion de que en esta parte es posible una inyeccion, ya que no se filtra nada antes de pasarlo al mysql_query.....


<?php
//Aqui es donde se obtienen las variables sin filtrar..
$id=$_GET["id"];
$to=$_GET["to"];
$option=$_GET["option"];

if (
$option=="delete"){
&
#160; &#160; require ('config.php'); //Conexion a la DB
&#160; &#160; $queryz = "DELETE FROM tb_messenger WHERE id='$id' LIMIT 1";
&#160; &#160; mysql_query($queryz) or die(mysql_error());
&#160; &#160; mysql_close($con);
}
?>



Como ven, es la variable $id en la que hay que poner algo... pero cuando le pongo:

'; UPDATE ETC ETC; #

Ni me la pesca ni me da error...  :-(


Alguna idea??? Se los agradecere demasiado :$


Saludos!

Azielito

#1
a ps te da error por que no se puede =\ podrias eliminar otro registro xD

Código (sql) [Seleccionar]
DELETE FROM tb_messenger WHERE id='1' or id>='2';-- ' LIMIT 1
                    `evilcode`     1' or id>='2';--


mas info aca:
foro.elhacker.net/nivel_web/inyeccion_sql_filtro-t241813.0.html

sirdarckcat

en mysql no puedes hacer lo de poner 2 queries con ;

Debes usar subqueries (y ver que borraste XD).. la verdad esta complicado explotar una vulnerabilidad en el contexto de un DELETE, porque te serviria como blind, pero pues.. estarias limitado a la cantidad de entradas en la tabla..

Talvez con subqueries y mensajes de error segun diferentes estados puedan servir de algo pero.. esta complicado.

Saludos!!

k-r-1-0-5

Le puse un echo al codigo para ver como llega... y el resultado fue este:

DELETE FROM tb_messenger WHERE id='1\' or id>=\'2\';--' LIMIT 1


Estoy quemado cierto?? xD

Pero.. porque se le anteponen los \ a las comillas simples si no hay nada que filtre?? D:

sirdarckcat

se llaman magic_quotes.. las anexa PHP automaticamente.

Saludos!!

k-r-1-0-5

Demonios.. xD
Se aplica tambien en las cookies? Hay otra parte en la que se pasa directamente el contenido de una cookie al query...

Que lindo es aprender algo nuevo.. gracias :$

sirdarckcat


ChElAnO

CitarLe puse un echo al codigo para ver como llega...

un echo? Desde SQL o como?

saludos

OzX

prova lo siguiente

OK
+and+(select+database())+--+

ERROR
+and+(select+databace())+--+

Dime hay algun cambio drastico al poner las dos?
Osea podria encontrar alguna diferencia en cuanto a tiempo de carga, redireccion, o error, en cuando pones una inyeccion valida y otra invalida. databace no existe xD¡.

Saludos¡