[보안패치] 그누보드 4.33.09 정보
[보안패치] 그누보드 4.33.09첨부파일
본문
4.33.09 (11.04.15)
: 아래 두개의 취약점은 한국인터넷진흥원(KISA)을 통하여
선린인터넷고등학교 1학년에 재학중인 강인욱님께서 알려 주셨습니다.
XSS 취약점
embed, object 태그를 막지 않는 경우의 우회적인 공격에 대한 취약점
lib/common.lib.php 의 두개 함수가 수정 되었습니다.
function conv_content($content, $html)
...
//$content = preg_replace("/(ex)(pression)/i", "ex$2", $content);
...
// 이런 경우를 방지함 <IMG STYLE="xss:expr/*XSS*/ession(alert('XSS'))">
$content = preg_replace("#\/\*.*\*\/#iU", "", $content);
$pattern = "";
$pattern .= "(e|(x65|101);?)";
$pattern .= "(x|(x78|120);?)";
$pattern .= "(p|(x70|112);?)";
$pattern .= "(r|(x72|114);?)";
$pattern .= "(e|(x65|101);?)";
$pattern .= "(s|(x73|115);?)";
$pattern .= "(s|(x73|115);?)";
$pattern .= "(i|(x6a|105);?)";
$pattern .= "(o|(x6f|111);?)";
$pattern .= "(n|(x6e|110);?)";
$content = preg_replace("/".$pattern."/i", "__EXPRESSION__", $content);
...
function bad_tag_convert($code)
...
if ($is_admin && $member[mb_id] != $view[mb_id]) {
//$code = preg_replace_callback("#(\<(embed|object)[^\>]*)\>(\<\/(embed|object)\>)?#i",
// embed 또는 object 태그를 막지 않는 경우 필터링이 되도록 수정
$code = preg_replace_callback("#(\<(embed|object)[^\>]*)\>?(\<\/(embed|object)\>)?#i",
create_function('$matches', 'return "<div class=\"embedx\">보안문제로 인하여 관리자 아이디로는 embed 또는 object 태그를 볼 수 없습니다. 확인하시려면 관리권한이 없는 다른 아이디로 접속하세요.</div>";'),
$code);
}
//return preg_replace("/\<([\/]?)(script|iframe)([^\>]*)\>/i", "<$1$2$3>", $code);
// script 나 iframe 태그를 막지 않는 경우 필터링이 되도록 수정
return preg_replace("/\<([\/]?)(script|iframe)([^\>]*)\>?/i", "<$1$2$3>", $code);
: 아래 두개의 취약점은 한국인터넷진흥원(KISA)을 통하여
선린인터넷고등학교 1학년에 재학중인 강인욱님께서 알려 주셨습니다.
XSS 취약점
embed, object 태그를 막지 않는 경우의 우회적인 공격에 대한 취약점
lib/common.lib.php 의 두개 함수가 수정 되었습니다.
function conv_content($content, $html)
...
//$content = preg_replace("/(ex)(pression)/i", "ex$2", $content);
...
// 이런 경우를 방지함 <IMG STYLE="xss:expr/*XSS*/ession(alert('XSS'))">
$content = preg_replace("#\/\*.*\*\/#iU", "", $content);
$pattern = "";
$pattern .= "(e|(x65|101);?)";
$pattern .= "(x|(x78|120);?)";
$pattern .= "(p|(x70|112);?)";
$pattern .= "(r|(x72|114);?)";
$pattern .= "(e|(x65|101);?)";
$pattern .= "(s|(x73|115);?)";
$pattern .= "(s|(x73|115);?)";
$pattern .= "(i|(x6a|105);?)";
$pattern .= "(o|(x6f|111);?)";
$pattern .= "(n|(x6e|110);?)";
$content = preg_replace("/".$pattern."/i", "__EXPRESSION__", $content);
...
function bad_tag_convert($code)
...
if ($is_admin && $member[mb_id] != $view[mb_id]) {
//$code = preg_replace_callback("#(\<(embed|object)[^\>]*)\>(\<\/(embed|object)\>)?#i",
// embed 또는 object 태그를 막지 않는 경우 필터링이 되도록 수정
$code = preg_replace_callback("#(\<(embed|object)[^\>]*)\>?(\<\/(embed|object)\>)?#i",
create_function('$matches', 'return "<div class=\"embedx\">보안문제로 인하여 관리자 아이디로는 embed 또는 object 태그를 볼 수 없습니다. 확인하시려면 관리권한이 없는 다른 아이디로 접속하세요.</div>";'),
$code);
}
//return preg_replace("/\<([\/]?)(script|iframe)([^\>]*)\>/i", "<$1$2$3>", $code);
// script 나 iframe 태그를 막지 않는 경우 필터링이 되도록 수정
return preg_replace("/\<([\/]?)(script|iframe)([^\>]*)\>?/i", "<$1$2$3>", $code);
댓글 전체
=======================================
그누보드에만 해당하는 취약점은 아닙니다.
=======================================
그누보드에만 해당하는 취약점은 아닙니다.
=======================================
어디를 어떻게 수정할지 잘 모르겠네요.
감사 합니다. 잘 쓰겠습니다.
감사합니다
감사합니다~ ^^*
보안패치 감사합니다~
감사합니다.
기존에다가 붙여넣기 하면 되나요?
감사합니다!!
관리자님 항상 감사드려요
근데 프로그램알고리즘,함수 저같은초보들은 설명들어도 모릅니다..그저 패치나오면
코드만 붙여넣거나 바꿔넣기 바빠요: 메모장기준 어느 파일의 몇번째줄 코드부분을 어떻게 바꿔라 ,수정해라 주석좀 꼭 달아주시면 감사하겠어요...예전에는 그렇게 해주셔서 따라하기가 쉬웠는데 언제부터 패치도 많아지구 일정한 프로그래머 수준의분들만 알아들을수 있는 내용만 덩그라니 올리시니
어느것을 찾아서 어떤부분을 수정하라는건지 헤메느라 곤욕이네요"""
파일하나만 비교하고 코드찾구 하는것두 엄청 힘든데 패치내용이 뜨면 덜커텅 겁부터 납니다ㅜ,ㅜ
근데 프로그램알고리즘,함수 저같은초보들은 설명들어도 모릅니다..그저 패치나오면
코드만 붙여넣거나 바꿔넣기 바빠요: 메모장기준 어느 파일의 몇번째줄 코드부분을 어떻게 바꿔라 ,수정해라 주석좀 꼭 달아주시면 감사하겠어요...예전에는 그렇게 해주셔서 따라하기가 쉬웠는데 언제부터 패치도 많아지구 일정한 프로그래머 수준의분들만 알아들을수 있는 내용만 덩그라니 올리시니
어느것을 찾아서 어떤부분을 수정하라는건지 헤메느라 곤욕이네요"""
파일하나만 비교하고 코드찾구 하는것두 엄청 힘든데 패치내용이 뜨면 덜커텅 겁부터 납니다ㅜ,ㅜ
파일 비교 프로그램을 활용해 보세요.
업그레이드하실때 참고하실만한 자료입니다.
http://sir.co.kr/bbs/board.php?bo_table=g4_tiptech&wr_id=882
http://sir.co.kr/bbs/board.php?bo_table=g4_tiptech&wr_id=882
아~~ 정말 어디를 어떻게 고쳐야 할지를 모르겠군요~
윗분 말씀 처럼 어디 몇번째 줄이라고 대충이라도 좀 알려 주시면 좋겠습니다.
초보에게는 어려움이 좀 있어요.
윗분 말씀 처럼 어디 몇번째 줄이라고 대충이라도 좀 알려 주시면 좋겠습니다.
초보에게는 어려움이 좀 있어요.
lib/common.lib.php 의 두개 함수가 수정 되었습니다 <==라고 되어있네요
function conv_content($content, $html)
function bad_tag_convert($code)
그냥 다운로드 받아서 common.lib.php만 교체하면 됩니다
function conv_content($content, $html)
function bad_tag_convert($code)
그냥 다운로드 받아서 common.lib.php만 교체하면 됩니다
감사합니다.
감사합니다.
감사합니다
감사합니다. 적용하겠습니다.
감사합니다.
감사합니다.
감사합니다.
감사합니다.
패치 감사드려요
감사합니다.
감사합니다 ~
감사합니다.
저도 감사합니다.
감사합니다..
감사합니다
감사합니다. ^^
감사합니다. +_+
확인해 보겠습니다. 감사합니다.
항상 감사드립니다. (__)
이것은 보류좀 할께요.. 수정한 부분이 있어서 ㅋㅋ
감사합니다.