elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.
 
Inicio Ayuda Buscar Ingresar Registrarse
28 Mayo 2012, 05:39  


Tema destacado: Suscripción al boletín mensual de elhacker.net

+  Foro de elhacker.net
|-+  Seguridad Informática
| |-+  Bugs y Exploits
| | |-+  Nivel Web (Moderadores: sirdarckcat, WHK)
| | | |-+  Duda Inyeccion sql...
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Duda Inyeccion sql...  (Leído 2,900 veces)
andres_5

Desconectado Desconectado

Mensajes: 198



Ver Perfil
Duda Inyeccion sql...
« en: 11 Junio 2010, 23:28 »

Tuve que crear una web para el colegio, pero ahora estoy intentando inyectar codigo SQL a mi misma web, para experiencia personal...
el codigo es este:
Código:
$query = "INSERT INTO `usuarios`(log_nombre, contrasenya, nombre, email, localidad) VALUES (";
$query.= "'".$log_nombre."', '".$contraseña."', '".$name."', '".$email."', '".$localidad."');";

pero aprovecho el ultimo campo de localidad para intentar inyectar esto:
Código:
localidad'); DROP DATABASE `creandoside`('');

quedando en sentencia SQL algo como esto:
Código:
INSERT INTO `usuarios`(log_nombre, contrasenya, nombre, email, localidad)
VALUES ('123', '123', '123', '123', 'localidad'); DROP DATABASE `creandoside`('');
pero me aparece un error y no tengo ni idea de que sucede,
la sentencia del error de phpmyadmin es:
Código:
consulta SQL:
INSERT INTO `usuarios` ( log_nombre, contrasenya, nombre, email, localidad )
VALUES (
'123', '123', '123', '123', 'localidad.'
);
MySQL ha dicho: Documentación
#1046 - No database selected
saludos y muchas gracias ;)
PD: puse este mismo tema en apartado Programacion/Diseños Web/Bases de Datos... Espero que no os moleste pero pense que talvez es mas correcto aqui, si hay cualquier tipo de problema podeis borrad algunos de los dos temas ;)
En línea

Algunos de mis proyectos sobre electronica -->
En Mi Canal de Youtube


winroot


Desconectado Desconectado

Mensajes: 589

#include<winroot.h>


Ver Perfil WWW
Re: Duda Inyeccion sql...
« Respuesta #1 en: 11 Junio 2010, 23:37 »

es mas correcto en bugs a nivel web.
:D
saludos!
En línea

Mi blog sobre programación y seguridad informática:
http://win-root.blogspot.com
Shell Root


Desconectado Desconectado

Mensajes: 2.456


Alex Jurado


Ver Perfil WWW
Re: Duda Inyeccion sql...
« Respuesta #2 en: 11 Junio 2010, 23:43 »

Lo que pasa es que en MySQL no se pueden concatenar querys con ; como se hace en MSSQL.
En línea

---
andres_5

Desconectado Desconectado

Mensajes: 198



Ver Perfil
Re: Duda Inyeccion sql...
« Respuesta #3 en: 11 Junio 2010, 23:49 »

no entiendo bien lo que me quieres decir :S
Pero voy a añadir esto para evitar confusion:
Código:
<?php
include "base.php";
$name= $_POST['usureg'];
$nick= $_POST['nickreg'];
$pass= $_POST['passreg'];
$pass2= $_POST['passreg2'];
$email= $_POST['emailreg'];
$localidad= $_POST['locreg'];
if ($pass == $pass2){

include "base.php";

        $log_nombre=$_POST['nickreg'];
        $contraseña=$_POST['passreg'];
$name= $_POST['usureg'];
$email= $_POST['emailreg'];
$localidad=$_POST['locreg'];

        $query = "INSERT INTO `usuarios`(log_nombre, contrasenya, nombre, email, localidad) VALUES (";
        $query.= "'".$log_nombre."', '".$contraseña."', '".$name."', '".$email."', '".$localidad."');";

        $resultado = mysql_query($query, $conexion);

        if ($resultado) {
            echo 'Usuario '.$log_nombre.' registrado con éxito.<br/>';
            ?>
            <meta http-equiv="refresh" content="5;URL=inicio.php">
            <?php
        }
        else {
           echo '<br/>'.$query.'<br/><br/>';
           echo 'Usuario '.$log_nombre.' y Contraseña '.$contraseña.', no ha podido ser registrado.<br/>';
       }}
        else{
?>
<script>alert('Debes confirmar la contraseña')</script>

<meta http-equiv="refresh" content="0;URL=registro.php">
<?php
}
?>
</body>

</html>

Gracias por vuestra atencion
En línea

Algunos de mis proyectos sobre electronica -->
En Mi Canal de Youtube


Shell Root


Desconectado Desconectado

Mensajes: 2.456


Alex Jurado


Ver Perfil WWW
Re: Duda Inyeccion sql...
« Respuesta #4 en: 12 Junio 2010, 00:24 »

mmm te doy la respuesta de un Dios!, sé que no quieres hacer un UPDATE, pero supongo que es lo mismo que con un DELETE!
no puedes hacer un UPDATE si ya estas en el contexto de un SELECT. en MySQL no se pueden hacer varias queries por consulta. (como en mssql).

Saludos!!
En línea

---
Lobito14

Desconectado Desconectado

Mensajes: 21


Ver Perfil
Re: Duda Inyeccion sql...
« Respuesta #5 en: 12 Junio 2010, 13:39 »

Ahi veo varias cosas que no me terminan de convencer...

A ver, primero que nada, incluyes dos veces el archivo "base.php" que supongo que sera en el que tengas declarada la variable $conexion.

Podias poner tambien ese codigo aqui...

Porque el fallo que te da PhpMyAdmin es que no has selccionado la base de datos en la que hacer esa consulta, eso se hace con: "USE nombredb;"

Ya nos cuentas.
« Última modificación: 12 Junio 2010, 13:40 por ErLoBo » En línea
Shell Root


Desconectado Desconectado

Mensajes: 2.456


Alex Jurado


Ver Perfil WWW
Re: Duda Inyeccion sql...
« Respuesta #6 en: 12 Junio 2010, 15:44 »

A lo que en PHP es así
Código
$conexion = mysql_connect("localhost", "root", "root");
mysql_select_db("db_BaseDatos", $conexion);
En línea

---
Lobito14

Desconectado Desconectado

Mensajes: 21


Ver Perfil
Re: Duda Inyeccion sql...
« Respuesta #7 en: 12 Junio 2010, 18:37 »

A lo que en PHP es así
Código
$conexion = mysql_connect("localhost", "root", "root");
mysql_select_db("db_BaseDatos", $conexion);

Ahí va! eso es lo que espero que tenga en su archivo "base.php", si no... ya sabemos donde tiene el problema!
En línea
Shell Root


Desconectado Desconectado

Mensajes: 2.456


Alex Jurado


Ver Perfil WWW
Re: Duda Inyeccion sql...
« Respuesta #8 en: 12 Junio 2010, 18:42 »

... ya sabemos donde tiene el problema!
El problema, es que ese no era el problema xD, lo que él queria hacer era inyectar código SQL, dentro de una Query ya construida.
En línea

---
Lobito14

Desconectado Desconectado

Mensajes: 21


Ver Perfil
Re: Duda Inyeccion sql...
« Respuesta #9 en: 12 Junio 2010, 18:52 »


...

pero me aparece un error y no tengo ni idea de que sucede,
la sentencia del error de phpmyadmin es:
Código:
consulta SQL:
INSERT INTO `usuarios` ( log_nombre, contrasenya, nombre, email, localidad )
VALUES (
'123', '123', '123', '123', 'localidad.'
);
MySQL ha dicho: Documentación
#1046 - No database selected
saludos y muchas gracias ;)
PD: puse este mismo tema en apartado Programacion/Diseños Web/Bases de Datos... Espero que no os moleste pero pense que talvez es mas correcto aqui, si hay cualquier tipo de problema podeis borrad algunos de los dos temas ;)

Es que como el dice que le aparece un error y no tiene idea de lo que sucede, y como el error es "#1046 - No database selected", por eso pense que preguntaba por ese error.

Saludos!
En línea
WHK
吴阿卡
Moderador
***
Desconectado Desconectado

Mensajes: 4.113


The Hacktivism is not a crime


Ver Perfil WWW
Re: Duda Inyeccion sql...
« Respuesta #10 en: 16 Junio 2010, 20:38 »


...

pero me aparece un error y no tengo ni idea de que sucede,
la sentencia del error de phpmyadmin es:
Código:
consulta SQL:
INSERT INTO `usuarios` ( log_nombre, contrasenya, nombre, email, localidad )
VALUES (
'123', '123', '123', '123', 'localidad.'
);
MySQL ha dicho: Documentación
#1046 - No database selected
saludos y muchas gracias ;)
PD: puse este mismo tema en apartado Programacion/Diseños Web/Bases de Datos... Espero que no os moleste pero pense que talvez es mas correcto aqui, si hay cualquier tipo de problema podeis borrad algunos de los dos temas ;)

Es que como el dice que le aparece un error y no tiene idea de lo que sucede, y como el error es "#1046 - No database selected", por eso pense que preguntaba por ese error.

Saludos!

eso sucede en phpmyadmin porque no seleccionaste una base de datos de la lista de bases de datos antes de ejecutar la query.
primero selecciona la abse de datos y luego ejecutas la query.
En línea

Mi foro Ultra Off-Topics: http://whk.drawcoders.com/foro/

Gracias a todos! Good bye!
MagnoBalt

Desconectado Desconectado

Mensajes: 58


Los Buenos Artitas Copian, los Grandes Roban


Ver Perfil
Re: Duda Inyeccion sql...
« Respuesta #11 en: 17 Junio 2010, 07:24 »

Buenas, como algunos usuarios recalcarón no se puede realizar Stacked Query en MySQL con PHP, por lo tanto no te puedes salir de esa consulta para apilar una nueva, es imposible usando esas tecnologias por desgracia :p
Ahora si estas dentro de un SELECT puedes inyectar con Subconsultas o con la Clausula UNION

Escenarios Correctos:

Con UNION

SELECT TITULO, CUERPO, FECHA FROM NOTICIAS WHERE ID = 4

INYECCION

SELECT TITULO, CUERPO, FECHA FROM NOTICIAS WHERE ID = -4343 UNION SELECT PASSWORD,USERS,3 FROM USUARIOS

Con SUBCONSULA

SELECT TITULO, CUERPO, FECHA FROM NOTICIAS WHERE ID = 4

SELECT TITULO, CUERPO, FECHA FROM NOTICIAS WHERE ID = 4 AND (SELECT COUNT(*) FROM USERS)

Este tipo de ataques a subconsultas es la la logica de Booleanizacion la cual es la tecnica de Blind SQL.

andres_5 a lo que voy es que no puedes hacer esto en mysql con php

SELECT TITULO, CUERPO, FECHA FROM NOTICIAS WHERE ID = 4; DELETE * FROM USUARIOS

No se permiten stacked query, dejo una imagen donde muestra los esenarios donde se soporta y donde no.




Saludos
En línea
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Duda inyeccion sql
Hacking Básico
ediporey2000 7 1,479 Último mensaje 28 Febrero 2011, 00:04
por Edu
duda sobre inyeccion sql
Hacking Avanzado
draeq 1 608 Último mensaje 23 Julio 2011, 17:24
por whiteN0ise
duda inyeccion dll y hooker
Programación C/C++
t4r0x 4 506 Último mensaje 4 Febrero 2012, 12:45
por Eternal Idol
Duda inyeccion sql
Nivel Web
xeb3rus 4 561 Último mensaje 10 Abril 2012, 17:22
por terito
Powered by SMF 1.1.16 | SMF © 2006-2008, Simple Machines