포럼
관리자 EMBED 문제, 이렇게 하면 깔끔하지 않을까요?
2014.06.28 00:51
지금도 관리자 상태에서 embed를 보려면 수정을 누르면 에디터가 로딩되며, 에디터에 포함된 iframe으로 embed가 보이게 됩니다.
그래서 떠올린 것인데, embed가 페이지에 삽입되면 위험할 수 있지만 페이지에서 빈 iframe 객체를 만들고 -> embed 객체를 빈 iframe 안에 로드시키면 embed가 영향을 끼칠 수 있는 부모 페이지가 실제 XE 페이지의 자식인 빈 iframe 객체이므로 좀 안전한 방식이지 않을까... 합니다.
전공이 보안이 아니기에 개소리일수도 있지만ㅋㅋㅋ 그래도 떠올려봤습니다.
깔끔하게 정리하면, XE에서 embed가 있고, 관리자인 경우 func.inc.php 1443~1446줄에서 바꿔치기 해 보여주는데,
이때 바꿔치기를 좀 다르게 해서 보안 메세지 아래에 빈 iframe을 만들고, 그 프레임에 embed 소스 코드를 로딩하는 jQuery를 작성하면 되지 않을까 싶습니다.
대략적인 jQuery 코드는 이렇습니다.
jQuery('body', jQuery('#xe_secure_embed_frame')[0].contentWindow.document).html('EMBED 태그 내용');
이 코드가 동작하면 xe_secure_embed_frame 을 id로 가진 iframe 내부에 EMBED 태그 내용이라는 글이 쓰이게 됩니다.
저렇게 한개의 프레임을 추가로 띄워서 하면 좋을 것 같아서 글 써봅니다.
태클, 지적, 반론, 설명 전부 환영입니다.
댓글 6
-
애니즌
2014.06.28 03:49
-
YJSoft
2014.06.28 07:09
@애니즌 iframe 밖의 페이지에도 접근이 가능합니다.
https://yjsoft.pe.kr/11982 여기 접속해보시면 바로 다른 페이지로 리다이렉트 됩니다.이는 삽입한 iframe에 window.top.location.href로 페이지를 바꾸었기 때문입니다.
-
AJKJ
2014.06.28 10:55
iframe에 sandbox 속성을 넣으면 괜찮을것 같아요. 스크립트, 폼전송등을 브라우저 차원에서 막아주네요. 방금 실험해 보니 window.top.location.href가 먹히지 않는것 같아요
http://tester.prototype-z.com/iframe/sandbox.html
http://tester.prototype-z.com/iframe/nosandbox.html
다만 SANDBOX 내에서 플래시나 기타 등등이 정상작동하는지가 걱정되고, sandbox가 ie10 이상에서만 지원하는 문제도 있는듯 해요.
-
SeungXE
2014.06.28 16:54
음, 조금 더 생각해보니 iframe도 도메인이 다르면 상위 문서에 영향을 끼치지 못합니다 (적어도 제가 확인한 브라우저에서는요). 따라서 도메인이 다른 곳에서 iframe 태그를 걸 수 있다면 좋지 않을까 싶습니다.
-
KrteamENT
2014.06.28 12:36
음...괞찮은 방법이긴한데, 만약 플레이어가 아닌. 플래시로XSS공격을 했을때나..이것저것..
문제가 될수도..ㅇㅅㅇ? -
LI-NA
2014.06.28 12:59
네이버처럼 익명 아이프레임으로 감싸는 것도 좋을 것 같네요.
sandbox 속성은 오늘 처음 알았군요.
공격하는 방법이라거나 보안 관련해서는 잘 모르겠지만..
iframe에서 바깥으로 스크립트를 실행할 수 있지 않나요 ~?(이건 상관은 없을려나..)