Você está na página 1de 7

WEBIMPRINTS

Explotando PL Inyeccin / SQL


en Oracle 11g
Con Herramientas de Pruebas de
Penetracin

Pruebas de Penetracin
Oracle no hace declaraciones SQL por batch y esto hace que la
explotacin de los errores de inyeccin SQL ligeramente es ms
complicado de Microsoft SQL Server. Si el atacante, por ejemplo,
quera conceder mismos privilegios arbitrarios; no sera capaz de
hacer esto directamente en que se inyectan en una query SELECT.
Por el contrario, necesitaran inyectar una funcin en la
vulnerabilidad y es esta funcin que realizar el trabajo de la
concesin de los privilegios.
Estas funciones se conocen como funciones de inyeccin
auxiliares. Si el atacante tiene el privilegio CREATE PROCEDURE
que podran, por supuesto, crear su propia funcin de inyeccin
auxiliar e inyectar esto.
CREATE OR REPLACE FUNCTION INJECT RETURN NUMBER AUTHID
CURRENT_USER IS
PRAGMA AUTONOMOUS_TRANSACTION;
BEGIN
EXECUTE IMMEDIATE 'GRANT DBA TO PUBLIC';

Pruebas de Penetracin
Hay dos puntos importantes a tener en cuenta aqu. El AUTHID
CURRENT_USER asegura que, cuando se inyecta, la funcin toma
sobre los privilegios del procedimiento vulnerables y la PRAGMA
AUTONOMOUS_TRANSACTION permite sentencias DML y DDL para
ser ejecutados, incluso si el vector de inyeccin es una sentencia
SELECT. Por supuesto, si el atacante no tiene el privilegio CREATE
PROCEDURE entonces tendran la necesidad de encontrar una
funcin existente que les permite ejecutar SQL arbitrario. Un
nmero de funciones posibles, pero estos han sido arreglados en
Oracle 11g impedir su uso. Antes de Oracle 11g, la
La funcin del paquete DBMS_SQL EXECUTE podra ser utilizado
como una funcin de inyeccin auxiliar para ejecutar SQL
arbitrario despus de abrir primero un cursor y analizar una
consulta. Este mtodo de ataque es conocido como inyeccin de
cursor.

Consejos de
empresas de seguridad inform
tica
Para evitar ataques de inyeccin de cursor y defectos cursor
snarfing Oracle hizo cambios de seguridad en el paquete
DBMS_SQL, o ms bien el paquete DBMS_SYS_SQL subyacente. En
primer lugar, el valor de un cursor de regresar de
DBMS_SQL.OPEN_CURSOR ya no es secuencial y es
aparentemente al azar. Anteriormente, los cursores se emitieron
comenzando con 1 a continuacin, a continuacin, 2 3 y as
sucesivamente. Cuando est cerrado, un valor cursor estara
disponible para su reutilizacin. En 11g embargo, cualquier intento
de realizar una accin en un cursor no vlido dar lugar a la
denegacin de acceso a DBMS_SQL. Para utilizar el paquete, la
sesin debe ser derribado y vuelve a conectar. Esto ayuda a
prevenir los ataques de cursor snarfing.

Consejos de empresas de
seguridad informtica
Un segundo cambio a DBMS_SQL es que si un cursor se analiza
bajo un identificador de seguridad, pero se hace un intento para
ejecutarlo bajo otro identificador de seguridad, una violacin de
seguridad se lanza. Esto evita que los ataques de inyeccin cursor.
Debido a estos cambios DBMS_SQL.EXECUTE ya no se puede
utilizar como una funcin de inyeccin auxiliar. Como tal, hay que
encontrar nuevas funciones segn Profesionales de Seguridad
Informtica en Mxico.

Consejos de empresas de
seguridad informtica
Otra mejora de seguridad hecha a Oracle 11g es el bloqueo hacia
abajo de ciertos servicios pblicos PLSQL como UTL_INADDR,
UTL_TCP, UTL_HTTP, UTL_MAIL, paquetes UTL_SMTP y el tipo
httpuritype. Salvo autorizacin especficamente otorgada a
hacerlo, un usuario con privilegios bajos no puede utilizar estos.
Cualquier intento de resultados en un error: "ORA-24247: el acceso
a la red negada por la lista de control de acceso (ACL)". Estas
utilidades se han protegido, ya que pueden ser objeto de abuso
por exfiltrating datos en los ataques de inyeccin SQL fuera de la
banda. Si estn siendo inyectados en un Procedure propiedad de
un usuario que tiene privilegios para utilizar los servicios pblicos,
por ejemplo, un SYS procedure, entonces el atacante an puede
utilizarlos - la mejora de la seguridad no tiene efecto. Fuera de la
banda de los ataques de inyeccin SQL se utilizan normalmente
sin embargo, cuando el atacante es "ciego", como ocurre a
menudo en ataques a aplicaciones web segn expertos de

CONTACTO

w w w. we b i mp r i n t s . c o m

538 Homero # 303


Polanco, Mxico D.F 11570
Mxico
Mxico Tel: (55) 9183-5420
DUBAI
702, Smart Heights Tower, Dubai
Sixth Floor, Aggarwal Cyber Tower 1
Netaji Subhash Place, Delhi NCR, 110034
India
India Tel: +91 11 4556 6845

Você também pode gostar