[보안패치] 그누보드 4.36.23 정보
[보안패치] 그누보드 4.36.23첨부파일
본문
4.36.23 (2013.07.11)
: embed 태그의 allowscriptaccess 속성을 이용한 XSS 취약점 해결 (i2sec 최호성님께서 알려 주셨습니다.)
AllowScriptAccess 의 값 always 를 제거하고 never 로 적용하여 플래시에서 스크립트가 실행되지 않도록 합니다.
lib/common.lib.php 에서 conv_content() 함수의 내용 중
//$content = preg_replace("/(sc)(ript)/i", "sc$2", $content);
...
// 플래시의 액션스크립트와 자바스크립트의 연동을 차단하여 악의적인 사이트로의 이동을 막는다.
// value="always" 를 value="never" 로, allowScriptaccess="always" 를 allowScriptaccess="never" 로 변환하는데 목적이 있다.
//$content = preg_replace("/((?<=\<param|\<embed)[^>]+)(\s*=\s*[\'\"]?)always([\'\"]?)([^>]+(?=\>))/i", "$1$2never$3$4", $content);
// allowscript 속성의 param 태그를 삭제한다.
$content = preg_replace("#(<param.*?allowscript[^>]+>)(<\/param>)?#i", "", $content);
// embed 태그의 allowscript 속성을 삭제한다.
$content = preg_replace("#(<embed.*?)(allowscriptaccess[^\s\>]+)#i", "$1", $content);
// object 태그에 allowscript 의 값을 never 로 하여 태그를 추가한다.
$content = preg_replace("#(<object[^>]+>)#i", "$1<param name=\"allowscriptaccess\" value=\"never\">", $content);
// embed 태그에 allowscrpt 값을 never 로 하여 속성을 추가한다.
$content = preg_replace("#(<embed[^>]+)#i", "$1 allowscriptaccess=\"never\"", $content);
: embed 태그의 allowscriptaccess 속성을 이용한 XSS 취약점 해결 (i2sec 최호성님께서 알려 주셨습니다.)
AllowScriptAccess 의 값 always 를 제거하고 never 로 적용하여 플래시에서 스크립트가 실행되지 않도록 합니다.
lib/common.lib.php 에서 conv_content() 함수의 내용 중
//$content = preg_replace("/(sc)(ript)/i", "sc$2", $content);
...
// 플래시의 액션스크립트와 자바스크립트의 연동을 차단하여 악의적인 사이트로의 이동을 막는다.
// value="always" 를 value="never" 로, allowScriptaccess="always" 를 allowScriptaccess="never" 로 변환하는데 목적이 있다.
//$content = preg_replace("/((?<=\<param|\<embed)[^>]+)(\s*=\s*[\'\"]?)always([\'\"]?)([^>]+(?=\>))/i", "$1$2never$3$4", $content);
// allowscript 속성의 param 태그를 삭제한다.
$content = preg_replace("#(<param.*?allowscript[^>]+>)(<\/param>)?#i", "", $content);
// embed 태그의 allowscript 속성을 삭제한다.
$content = preg_replace("#(<embed.*?)(allowscriptaccess[^\s\>]+)#i", "$1", $content);
// object 태그에 allowscript 의 값을 never 로 하여 태그를 추가한다.
$content = preg_replace("#(<object[^>]+>)#i", "$1<param name=\"allowscriptaccess\" value=\"never\">", $content);
// embed 태그에 allowscrpt 값을 never 로 하여 속성을 추가한다.
$content = preg_replace("#(<embed[^>]+)#i", "$1 allowscriptaccess=\"never\"", $content);
댓글 전체
감사합니다!
그누4도 업데이트가 아직 있군요..ㅋ
그누4도 업데이트가 아직 있군요..ㅋ
감사합니다!~
간만에 나왔군요 감사합니다.
고맙습니다. 복받으세요.
동영상에서 스크립트가 작동해 관리자권한을 탈취하는데 대한 보안책으로 그동안 관리자는 동영상을 보지 못하도록 해놓았는데, 지금의 업데이트로서 이제는 관리자도 동영상을 볼 수 있게 되는 건가요.
동영상에서 스크립트가 작동해 관리자권한을 탈취하는데 대한 보안책으로 그동안 관리자는 동영상을 보지 못하도록 해놓았는데, 지금의 업데이트로서 이제는 관리자도 동영상을 볼 수 있게 되는 건가요.
다음팟 object 로 퍼오면 embed가 안되네요 ㅠㅠ
감사합니다.
업데이트 해야겠어요.
업데이트 해야겠어요.
감사합니다.
감사합니다.
패치 합니다.
초보라서 그런데 lib/common.lib.php 파일 안에서 저 소스를 수정하면 되나요?
네 일단
$content = preg_replace("/(sc)(ript)/i", "sc$2", $content);
를
//$content = preg_replace("/(sc)(ript)/i", "sc$2", $content);
로 주석처리 하신 후
나머지 부분은 추가 하시면 되요
$content = preg_replace("/(sc)(ript)/i", "sc$2", $content);
를
//$content = preg_replace("/(sc)(ript)/i", "sc$2", $content);
로 주석처리 하신 후
나머지 부분은 추가 하시면 되요
감사합니다.
몇달만에 업데이트 이군요.. ^^
감사합니다.
감사합니다.
<object type='application/x-shockwave-flash' flashvars='vid=v37a2MsFJ7CFMfCQvsvf
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
등등..
MEQ&playLoc=undefined'></embed></object>
이런 영상은 안나와요 무슨 영문일가요?
<object.................................................................</object>
요기서 아래것만 게시판에 올리면 나옵니다.
<embed src='http://####' width='640px' height='360px' allowScriptAccess='always' type='application/x-shockwave-flash' allowFullScreen='true' bgcolor='#000000' flashvars='vid=v37a2MsFJ7CFMfCQvsvfMEQ&playLoc=undefined'></embed>
보안패치전에는 요렇게 하니 안나왔구요.//
전체게시판 게시물 3천개 넘는데 수정해야하는가요? 흠,,,
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
등등..
MEQ&playLoc=undefined'></embed></object>
이런 영상은 안나와요 무슨 영문일가요?
<object.................................................................</object>
요기서 아래것만 게시판에 올리면 나옵니다.
<embed src='http://####' width='640px' height='360px' allowScriptAccess='always' type='application/x-shockwave-flash' allowFullScreen='true' bgcolor='#000000' flashvars='vid=v37a2MsFJ7CFMfCQvsvfMEQ&playLoc=undefined'></embed>
보안패치전에는 요렇게 하니 안나왔구요.//
전체게시판 게시물 3천개 넘는데 수정해야하는가요? 흠,,,
플래시에서 스크립트가 사용되지 않도록 적용한 패치입니다.
기존에 사용하시던 플래시 코드 원본을 *** 개인정보보호를 위한 이메일주소 노출방지 *** 로 보내 주십시오.
기존에 사용하시던 플래시 코드 원본을 *** 개인정보보호를 위한 이메일주소 노출방지 *** 로 보내 주십시오.
감사합니다 빠른 보안패치에 안전하게 사용할수 있네요
다음팟 embed가 안되는 군요 저는 롤백 합니다 ㅠㅠ
이상하게 이전버전은 업로드도 잘되고 로딩도 빠른데
이 버전은 제로보드보다 더 로딩도 느리고 이상하네요...
이 버전은 제로보드보다 더 로딩도 느리고 이상하네요...
감사요~~~
고맙습니다.
감사요~~~
저도 tv팟을 퍼 왔는데
$content = preg_replace("#(<param.*?allowscript[^>]+>)(<\/param>)?#i", "", $content); 이 문장을 적용하니 IE에서만 영상이 안 나오고 있습니다. 어찌 해야 할지...
일단 요것만 주석 해 놓긴 했습니다.
$content = preg_replace("#(<param.*?allowscript[^>]+>)(<\/param>)?#i", "", $content); 이 문장을 적용하니 IE에서만 영상이 안 나오고 있습니다. 어찌 해야 할지...
일단 요것만 주석 해 놓긴 했습니다.
감사합니다.
감사합니다. !~
감사합니다.
감사합니다.
감사합니다.
감사합니다.
감사합니다.