Skip to content

crossdomain.xml 정책변경에 따른 변경사항.

조회 수 21702 추천 수 0 2010.08.31 19:28:33

이슈제기
플래시의 MovieClip을 Bitmap 데이터로 서버에 전송후 PHP의 GD라이브러리를 이용해 이미지 생성 후,
다시 플래시로 돌려받아 파일 저장 대화상자를 띄우는 모듈(이하 플래시 이미지 저장 모듈)이 정상 작동하지 않았다.

이슈분석
일반적으로 플래시가 있는 서버를 A(http://www.a.com)이라고 하고,
파일을 생성하는 서버 B(http://file.a.com)하면,
Sandbox보안은 crossdomain정책에 따라 운용되게 된다.

그 동안 정상적으로 작동되던 기능이 작동되지 않아 분석해 보니,
아래와 같았다.

1. 파일서버에 이미지 생성은 정상적으로 되는 것으로 보아, 비트맵 데이터 전달의 문제는 없다.
2. swf가 위치한 서버와 위치가 다른 파일서버의 파일의 FP의 접근을 허용하지 않는 이유는 보다 강력해진,
    crossdomain.xml 정책으로 기인한다는 사실 발견.
3. crossdomain정책 실시 이후에도 특정브라우저에서 여전히 문제 남아 있었고, 그에 대한 해결방법으로
    파일저장 대화상자 오픈 실패시, 다운로드 버튼 표시로 사용자 수동방식으로 다운로드 유도.

이슈핵심
FP9.0.124.0 (현재 FP10) 업데이트 악의적인 HTTP 헤더에 대한 보안 취약점을 해결하기 위해서
크로스-도메인 정책이 변경되었다. 다른 도메인 상의 SWF 파일로 부터 HTTP 헤더의 전송을 허용할 지
여부를 크로스-도메인 정책 파일에서 설정할 수 있다.  

또한 html에 포함하는 임베디드 태그의 파라미터 중 allowScriptAccess의 값에서도 설정을 하여야 한다.
FP10에서는 접근을 시도하려는 파일이 있는 서버에도, 접근을 허용하는 서버에도 모두 crossdomain이 필요하다.

이러한 crossdomain을 master policy라고도 하는데, 이 파일 외에 다른 파일타입이나 파일명으로 된
정책파일의 사용을 허용할지 말지를 설정한다. 기존에는 기본값이 all로 되어 있어서 제한없이 사용할 수 있었으나,
FP10에서는 master-only로 변경, 기본적으로는 마스터 정책 파일만 사용할 수 있게 바뀌었다.

이러한 변경은 악의적인 사용자가 게시판 글쓰기나 파일업로드 등의 방법으로 크로스 도메인 설정의 내용을
가지는 파일을 만들수 있고, 이를 이용해 loadPolicyFile() 메소드를 이용하여 로드하는 경우, 실제로는 권한이
없는 사이트에서도 데이터를 가져갈 수 있는 문제를 야기 시키기에 서버 관리자가 마스터 설정 파일을 가지고,
이런 악의적인 적근을 제한하기 위해 추가된 기능이다.

이슈해결
1.  서비스 서버(http://www.a.com) 의 root의 기존 crossdomain.xml 내용변경.

[ 기존설정 ]

1.<?xml version="1.0"?>
2.<cross-domain-policy>
3.  <allow-access-from domain="*" />
4.</cross-domain-policy>

[ 변경 설정 ]

1.<?xml version="1.0"?>
2.<!DOCTYPE cross-domain-policy SYSTEM "http://www.adobe.com/xml/dtds/cross-domain-policy.dtd">
3.<cross-domain-policy>
4.      <allow-access-from domain="*" />
5.      <allow-http-request-headers-from domain="*" headers="*"/>
6.</cross-domain-policy>


2.  파일 생성 서버(http://file.a.com) 의 root의 새로운 crossdomain.xml 내용변경.

[ 기존설정 ]
c
rossdomain.xml 파일 없었음.

[ 변경설정 ]
서비스 파일 서버의 crossdomain.xml 동일하게 생성.

3. SWF 임베디드 코드 페이지 수정요.

[ 기존설정 ]

1.<object  classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"  codebase="http://fpdownload.adobe.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0" width="550" height="400" align="middle">
2. <param name="movie" value="http://www.a.com/ex.swf">
3. <param name="allowScriptAccess" value="sameDomain">
4. <embed type="application/x-shockwave-flash" pluginspage="http://www.adobe.com/go/getflashplayer" width="550" height="400" align="middle" src=""http://www.a.com/ex.swf" allowScriptAccess="sameDomain"></embed>
5.</object>

 

[ 변경설정 ]

1.<object  classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"  codebase="http://fpdownload.adobe.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0" width="550" height="400" align="middle">
2. <param name="movie" value="http://www.a.com/ex.swf"
3. <param name="allowScriptAccess" value="always">
4. <embed type="application/x-shockwave-flash" pluginspage="http://www.adobe.com/go/getflashplayer" width="550" height="400" align="middle" src="http://www.a.com/ex.swf" allowScriptAccess="always"></embed>
5.</object>


관련 자료
Cross-domain policy file specification
http://www.adobe.com/devnet/articles/crossdomain_policy_file_spec.html#site-control-permitted-cross-domain-policies

 Links from SWF files in HTML page no longer function(Flash Player 9)http://kb.adobe.com/selfservice/viewContent.do?externalId=50c1cf38&sliceId=2

profile

일요일은 짜빠게뤼~ 먹는날~^^

엮인글 :
http://adminplay.com/22328/ef4/trackback
List of Articles
번호 제목 글쓴이 날짜sort 조회 수
207 리스너(Listener)란? ADMINPLAY 2010-01-29 20366
206 grep 옵션, egrep 옵션 차이점 ADMINPLAY 2010-02-17 26266
205 grep 옵션~! ADMINPLAY 2010-02-17 22183
204 리눅스 - tar 압축 사용법 ADMINPLAY 2010-02-20 25482
203 고정아이피 설정하기(Ubuntu Server DIY ) l2zeo 2010-02-20 28540
202 Apache 설치(Ubuntu Server DIY ) l2zeo 2010-02-20 31090
201 우분투 서버 방화벽. 외부에서 ssh 접속이 안되었다.(Ubun... l2zeo 2010-02-20 34890
200 ruby on rails 설치 (Ubuntu Server DIY ) l2zeo 2010-02-20 30429
199 ORA-01031: insufficient privileges 오류 ADMINPLAY 2010-02-24 41013
198 CentOS 설치 - VMware 상에서 CentOS 설치하기 file l2zeo 2010-02-24 52101
197 Cent OS-5.2 설치 문서 file l2zeo 2010-02-24 31794
196 리눅스 한글 설정 l2zeo 2010-03-08 26432
195 시스칼리지- 꿔니님의 클러스트링 강좌 l2zeo 2010-03-08 32759
194 shell programming l2zeo 2010-03-08 20424
193 CentOS 5.3에서 samba구축방법 file l2zeo 2010-03-08 29451
192 [UNIX] 솔라리스 보안 [ 발표자료 ] - 김 석 님 자료 file l2zeo 2010-03-08 26451
191 Vista Bootloader에 Fedora 10 부팅옵션 추가해서 듀얼 부... l2zeo 2010-03-08 23225
190 일반적인 웹로봇의 방문 및 배제와 관련한 robots.txt 저... ADMINPLAY 2010-03-16 20649
189 X-window 설치 ADMINPLAY 2010-03-24 23361
188 Linux 서버에서 yum 으로 X-Window 설치하기 ADMINPLAY 2010-03-24 20314

Copyright ADMINPLAY corp. All rights reserved.

abcXYZ, 세종대왕,1234

abcXYZ, 세종대왕,1234