Veran, tengo una inyeccion tal que asi:
proyectos.php?id=0 union select 1,2,3,4,5,6,7,8,group_concat(column_name),10,11,12 from information_schema.columns where table_name=char(112,117,98,108,105,99,105,100,97,100)
eso como vereis, me saca campos de un tabla, es solo un ejemplo
mi duda, es si puedo, ejecutar otras sentencias que no sean select, quiero decir, insertar, actualizar...etc, no pregunto a nivel de privilegios ya que esos se pueden mirar en user privileges, sino a la manera de ejecutar la sentencia detras del select
¿alguien sabria como?, cuando lo intento me arroja:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ';show databases' at line 1
Dedende de:
- Base de Datos
- Dende de la sintaxis del Query
- Depende de las librerias
En
MySQL, no podes ejecutar 2 sentencias dentro del mismo Query, es decir, un SELECT y un INSERT, no lo podes hacer.
PD: http://foro.elhacker.net/nivel_web/inyeccion_sql_mysql_update_dentro_de_un_select-t241813.0.html
ya, de eso estoy enterado, pero no es posible ejecutar una consulta tal que asi:
proyectos.php?id=0;update tabla....
es decir el ";" te cerraria la instruccion anterior para dar paso a otra
se podria realizar?
Cita de: WHK en 5 Noviembre 2009, 23:19 PMAhora, puede que ese sitio web utilize librerías preconstruidas donde si acepte el carácter ";" como separador de querys, en ese caso si podrías hacer un update concatenando ambas querys con ";" pero por defecto no se puede. Lo que hacen la mayoria de las clases prefabricadas es separar todo el string en un solo array dimensional separados por el ";" y luego comienza a procesar query por query.
En
MSSQL:SELECT * FROM dbo.tblArea; SELECT * FROM dbo.tblAutor
Respuesta:(3 filas afectadas)
(2 filas afectadas)
En
MySQL: SELECT * FROM tblArea; SELECT * FROM tblAutor
Respuesta:Mostrando registros 0 - 0 (~11 total, La consulta tardó 0.0005 seg)
ok cogido ;D