$coment = htmlentities($_POST['coment']);
$db = "INSERT INTO `comentarios` (id,nick,fecha,coment) ";
$db.= "values ('".$_GET['id']."','".$_POST['nick']."','".time()."','".$coment."')";
$db = mysql_query($db);
Como podría borrar la tabla comentario ya que no usa ningún filtrado y lo inserta sin comprobación.
$db = mysql_query("SELECT * FROM `usuarios` WHERE usuario='$_POST[usuario]'"); ;
$datos = mysql_fetch_array($datos);
if($db['password'] == $_POST['contraseña']){
// aqui te da permisos para entrar
}
Como puedo saltarme el login..
Saludos, Dacan :D
Pues yo trate con el segundo y nada xD, lo estuve provando en el Apache que tengo y pues no me resulto, hacia yo consultas algo descabelladas y seguia igual.
He logrado que realice la consulta de otro usuario. pero en realidad sigue sin poder saltarme el login.
Como hacen para mandar ese tipo de inyecciones?
Yo estoy acostumbrado a usar los tipicos campos de la pagina o en la url :S
Con algunos mods de Mozilla que termiten editar la Informacion en tiempo real.
O con netcat xD.
Saludos.
Por cierto que ya no he intendado pasar ese login. :-(
Datos de los cuales puedes borrar, actualizar e insetar dentro de tablas MySQL
Drop
:http://dev.mysql.com/doc/refman/5.0/en/drop-database.html
Insert
:http://dev.mysql.com/doc/refman/5.0/en/insert.html
Update:
http://dev.mysql.com/doc/refman/5.0/en/update.html
Para injeccion recomendaria uses paros proxy o cualquier otro donde puedes manipular los datos.
:http://www.parosproxy.org/
-berz3k.
Existe una extension para FF llamada Live HTTP Headers , esa es la que yo utilizo :D
Obvio que muchos de los de este foro lo usan, sin embargo has podido saltar ese Query ?
Saludos.
Tienes el sitio web?, veo que utiliza en una parte htmlentities y eso no filtra las comillas simples, en cuanto a esta linea:
$db = mysql_query("SELECT * FROM `usuarios` WHERE usuario='$_POST[usuario]'");
$datos = mysql_fetch_array($datos);
if($db['password'] == $_POST['contraseña']){
// aqui te da permisos para entrar
}
Acá podemos ver la falla, en donde dice $_POST[usuario] siempre y cuando el servidor no tenga las famosas magic quotes ya que necesitamos escapar con una sola comilla simple...
Citarusuario=admin'+union+select+1,2,,.......10+--+
Esto significa que escapamos con una comilla simple y comenzamos a escalar con 1,2,3,4 hasta que nos debuelva el valor impreso en la web, entonces con eso ya tendremos el número de columnas de la base de datos (ese dato te falta), luego cerramos la query con un comentario o cerrando la comilla antes del último número.
Una ves hecho esto recuerda que la base de datos estará debolviendo todos los datos del usuario seleccionado pero en este caso te debolverá la sql inyección o sea user:1 pass:2 mail:3 otrodato:4 y así asi que ahora debes poner como usuario admin si es que quieres entrar comoa dmin porque no se sabe cual es el nombre de usuario de la entrada.. y de contraseña le pones lo que pusiste en la sql inyección dependiendo la columna, para eso te aseguras con esto:
Citarusuario=admin'+union+select+1,1,1,.......1+--+
Con esto ya sabrás que te va a debolver como contraseña un uno y ese será la respuesta que debes poner en el formulario, pones user admin y pass 1 y podrás tener acceso.
Otra forma es haciendo un update db.users con el valor del nuevo password.
Ahora recuerda que no siempre las contraseñas están escritas en las bases de datos de los sitios web tal como la escribes, por lo general están hechas en md5 aunque si no fuera así solo quedaría adivinar y tener una bola mágica :xD asi que en la inyeción sql ingresas en la columna del pasword el valor del password codificado en md5 que sería
Citarmd5('1') = c4ca4238a0b923820dcc509a6f75849b
que puedes ponerlo con char(x,x,x,) o concat(0xdword).
En resumidas palabras te estoy dando la respuesta de una prueba en el warzone :xD jajajaja ya va a venir sdc a colgarme :P pero bueno asi es la vida.
Con respecto al primero solo debes escapar con
Citar") and [query] or 1=("1
Con el tamper data se puede hacer esas cosas , es un addons de firefox , saludos ;D
Muchísimas gracias WHK lo pondré en practica solo para aprender ya que lo hago en mi propia aplicación.
Saludos, Dacan :D