본문 바로가기

[PROGRAMMING]/[WEB]

플래시 매개변수 AllowScriptAccess가 always로 설정될떄의 XSS

<플래시 매개변수 AllowScriptAccess가 always로 설정될떄의 XSS>

해당 취약점은 클라이언트단 스크립트 소스 Flash Player관련해서 AllowScriptAccess와 같은 오브젝트 매개변수에 always 값을 주게 되면 스크립트를 실행할 수 있는 취약점입니다.

EX) <embed src="http://www.xxx.xxx/xss.swf" width="400" height="345" type="application/x-shockwave-flash" allowScriptAccess="always"> </embed>

AllowScriptAccess매개 변수는 가능한 세 가지 값,"always","sameDomain"또는"never"중 하나를 가질 수 있습니다.
AllowScriptAccess가"always"이면 SWF 파일은 HTML 페이지와 다른 도메인에 있는 경우에도 SWF 파일이 포함된 HTML 페이지와 통신할 수 있습니다.
AllowScriptAccess가"sameDomain"이면 SWF 파일은 HTML 페이지와 동일한 도메인에 속해 있는 경우에만 SWF 파일이 포함된 HTML 페이지와 통신할 수 있습니다. 
이 값이AllowScriptAccess의 기본값입니다.
한 도메인에 호스팅된 SWF 파일이 다른 도메인에 속해 있는 HTML 페이지의 스크립트에 액세스할 수 없도록 하려면 이 설정을 사용하거나AllowScriptAccess값을 설정하지 마십시오.
AllowScriptAccess가"never"이면 SWF 파일에서 어떠한 HTML 페이지와도 통신할 수 없습니다.
Adobe Flash CS4 Professional부터는 이 값이 사용되지 않습니다. 
따라서 이 값은 더 이상 사용하지 않는 것이 좋으며 사용자의 도메인에서 신뢰할 수 없는 SWF 파일을 제공하지 않는 한 이 값은 필요하지 않습니다. 
신뢰할 수 없는 SWF 파일을 불가피하게 제공해야 하는 경우 신뢰할 수 없는 모든 내용을 배치할 별도의 하위 도메인을 만드는 것이 좋습니다.

권고
AllowScriptAccess 매개변수를 'sameDomain'으로 설정하십시오. 이는 Flash Player에 상위 SWF와 동일한 도메인에서 로드된 SWF 파일에만 호스팅 웹 페이지에 대한 스크립트 액세스 권한이 있음을 나타냅니다.