SQL INJECTION en ASP y SQLSERVER

Iniciado por rower85, 11 Septiembre 2009, 00:01 AM

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

rower85

Hola a todos, estoy empezando con las SQL INJECTIONS, y me topé con una página hecha en ASP y con SqlServer que creo que puede tener una vulnerabilidad, cuando pongo la ' me sale esto:

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

[Microsoft][ODBC SQL Server Driver][SQL Server]Sintaxis incorrecta cerca de '</password><tipologueo>03</tipologueo><ip>'.

/kermet.asp, line 191


si pongo 'or 1=1 -- me sale :

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

[Microsoft][ODBC SQL Server Driver][SQL Server]Sintaxis incorrecta cerca de la palabra clave 'or'.

/kermet.asp, line 191


y ahí es donde está mi problema, ponga lo que ponga después del ' me da error de sintaxis; si pongo cualquier palabra me dice "Sintaxis incorrecta cerca de dsfsdf", mientras que si pongo un OR, AND, UNION o cualquier palabra clave, me sale "Sintaxis incorrecta cerca de la palabra clave 'or'", o sea que detecta cuando es una palabra clave, y cuando no.
No se si tendrá algo de seguridad la bd, pero he probado agregando --, o /* y // y no hay caso, siempre me tira el error en la primer palabra que encuentra después de la '.  Lo que me parece es que se arma un XML y eso es lo que se pasa a algún otro lado (?). Y parece que no funciona esto <password>'or 1=1</password>
Alguien sabrá como puedo continuar para obtener más información? o me conviene buscar una página que sea un poco más fácil para comenzar?
Muchas Gracias!

kamsky

prueba a omitir la comilla, simplemente haz algo como:
or '1'='1'
or '1'='1' --
a ver si así no te da error de sintaxis
----NO HAY ARMA MÁS MORTÍFERA QUE UNA PALABRA BROTADA DE UN CORAZÓN NOBLE, Y UN PAR DE HUEVOS QUE LA RESPALDEN---

                       hack 4 free!!

rower85

gracias por la respuesta, probé con or '1'='1' y con or '1'='1' -- y me sale

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

[Microsoft][ODBC SQL Server Driver][SQL Server]Sintaxis incorrecta cerca de '1'.


o sea que encuentra siempre error de sintaxis después de '. Y si no pongo ', obviamente me dice password incorrecto


rower85

mmm lo leo y te contesto si? xD gracias

Ari Slash


tomrian

Es bastante interesante el caso con el que te tropezaste (?. Por que la query que realiza la aplicación la hace con XML (de ahi los tags que ves ahi). Investiga un poco del tema y vas a poder inyectarlo sin problema.

vhalde

Yo tengo un caso muy parecido.

En un login, cuando en user pongo 'or 1=1 -- me sale:

CitarMicrosoft OLE DB Provider for SQL Server error '80040e14'

Sintaxis incorrecta cerca de la palabra clave 'or'.

/Include/conexión.asp, line 66

Cuando pongo una comilla en cada, me sale:

CitarMicrosoft OLE DB Provider for SQL Server error '80040e10'

El procedimiento 'SP_GetUser' precisa el parámetro '@user_pwd', que no se ha especificado.

/Include/conexión.asp, line 66

Bien, @user_pwd debe ser una concanetacion, mientras que SP_GetUser la subrutina.

Pero lo del OR es un poco raro, también me pasa como a ti cuando "Sintaxis incorrecta cerca de '1'"

tomrian

vhalde, en tu caso tenes una llamada a un store procedure. Rellena bien los parámetros que te solicita e intenta hacer un stack de sentencias para realizar la inyección.

OzX

prova..
site.asp?var=convert(int,@@version)--