Textcube v1.8.5 XSS Vulnerability on RSS Reader

2011/04/16 12:20

지난 2월 27일, TNF 팀에 텍스트큐브 v1.8.5에서의 XSS 취약점을 보고한 적이 있습니다. 당시 보고했던 취약점은 OpenID를 이용한 방문자 로그인 시에 XSS 공격이 되는 문제와 관리메뉴의 RSS 바깥글 읽기에서 플래시를 통하여 XSS 공격이 되는 문제였습니다. 이 취약점들이 오늘 오전 5시 45분에 v1.8.6 발표후보 1이 공개되면서 패치되었습니다.

OpenID로 방문자 로그인 시에 XSS 공격하는 문제는 non-persistent XSS 취약점이구요. 그래서 이 글에서는 관리메뉴의 RSS 바깥글 읽기에서 플래시를 통한 XSS 공격을 설명하렵니다.

RSS 바깥글 읽기

텍스트큐브의 관리메뉴에는 RSS 바깥글 읽기(http://192.168.0.2/owner/network/reader)라는 메뉴가 있습니다. 줄여서 RSS 리더라고 하죠. RSS 리더는 다음의 설정을 통해 활성/비활성화가 가능합니다.

텍스트큐브 관리 -> 서비스 관리 -> 서버 -> 'RSS 이웃글 보기 사용' 체크 -> 저장

혹은 블로그 디렉토리 하위의
.htaccess config.php 파일을 수정하여도 활성/비활성화가 가능합니다.

XSS 취약점

RSS 리더에서는 기본적으로 library/function/javascript.php 의 filterJavaScript 함수로 자바스크립트가 비활성화가 됩니다. 그러나 v1.8.5 까지는 <embed></embed> 태그를 필터링하지 않아서 악성 플래시 파일에 대한 XSS 공격이 유효합니다.

블로그 관리자가 A라는 웹사이트의 RSS를 관리메뉴의 RSS 리더로 구독한다면, 공격자는 A라는 웹사이트에 다음과 같은 코드를 게시합니다.

&#60;embed src="http://192.168.0.2/xss.swf" AllowScriptAccess="always"&#62;&#60;/embed&#62;


관리자가 해당 글을 보게 된다면, 다음과 같이 XSS 공격을 당합니다.

사용자 삽입 이미지

패치

해당 취약점은 v1.8.6 발표후보 1에서 패치되었고, 패치 내용은 텍스트큐브 개발 센터#1107 티켓에서 확인할 수 있습니다.
크리에이티브 커먼즈 라이센스
Creative Commons License

6l4ck3y3 0x04 Web RCE , , , , , ,

Trackback Address:http://hisjournal.net/blog/trackback/359
  1. 2011/08/08 17:37
    XSS에 유용한 자바스크립트 Tracked from Elkha's Textyle