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!
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
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
http://www.milw0rm.com/papers/279
servira ?
saludos
mmm lo leo y te contesto si? xD gracias
Cita de: Darioxhcx en 11 Septiembre 2009, 02:06 AM
http://www.milw0rm.com/papers/279
servira ?
saludos
wau muy bueno....pero en ingles :P
salu2
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.
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'"
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.
prova..
site.asp?var=convert(int,@@version)--