리자

[보안패치] 그누보드 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", "&lt;$1$2$3&gt;", $code);
// script 나 iframe 태그를 막지 않는 경우 필터링이 되도록 수정
return preg_replace("/\<([\/]?)(script|iframe)([^\>]*)\>?/i", "&lt;$1$2$3&gt;", $code);

첨부파일

gnuboard4.euckr.tgz (1.8 MB) 1547회 2011-04-27 14:11
gnuboard4.utf8.tgz (1.9 MB) 1006회 2011-04-27 14:11
|

댓글 36개

=======================================
그누보드에만 해당하는 취약점은 아닙니다.
=======================================
어디를 어떻게 수정할지 잘 모르겠네요.
감사 합니다. 잘 쓰겠습니다.
감사합니다~ ^^*
보안패치 감사합니다~
감사합니다.
기존에다가 붙여넣기 하면 되나요?
감사합니다!!
관리자님 항상 감사드려요
근데 프로그램알고리즘,함수 저같은초보들은 설명들어도 모릅니다..그저 패치나오면
코드만 붙여넣거나 바꿔넣기 바빠요: 메모장기준 어느 파일의 몇번째줄 코드부분을 어떻게 바꿔라 ,수정해라 주석좀 꼭 달아주시면 감사하겠어요...예전에는 그렇게 해주셔서 따라하기가 쉬웠는데 언제부터 패치도 많아지구 일정한 프로그래머 수준의분들만 알아들을수 있는 내용만 덩그라니 올리시니
어느것을 찾아서 어떤부분을 수정하라는건지 헤메느라 곤욕이네요"""
파일하나만 비교하고 코드찾구 하는것두 엄청 힘든데 패치내용이 뜨면 덜커텅 겁부터 납니다ㅜ,ㅜ
파일 비교 프로그램을 활용해 보세요.
업그레이드하실때 참고하실만한 자료입니다.
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만 교체하면 됩니다
감사합니다.
감사합니다.
감사합니다. 적용하겠습니다.
감사합니다.
감사합니다.
감사합니다.
패치 감사드려요
감사합니다.
감사합니다 ~
감사합니다.
저도 감사합니다.
감사합니다..
감사합니다
감사합니다. ^^
감사합니다. +_+
그누보드 아주 잘 쓰고 있는 사용자입니다.^^ 수고가 늘 많으세요.
utf-8버전에서 관리자에서 보드를 생성했을 때에는 정확히 캐릭터셋이 utf-8_collection으로 되는데
보드 복사해서 생성하면 mysql의 캐릭터셋이 euckr_collection으로 생성됩니다.
다음 판올림 때에는 수정되면 좋겠습니다..ㅎ 수고 부탁드립니다~
확인해 보겠습니다. 감사합니다.
항상 감사드립니다. (__)
이것은 보류좀 할께요.. 수정한 부분이 있어서 ㅋㅋ
감사합니다.
댓글을 작성하시려면 로그인이 필요합니다. 로그인

그누4 다운로드

여러분께서 보고 계시는 이 사이트는 그누보드4 최신버전으로 제작, 운영되고 있습니다. SIR은 그누보드를 만들 뿐 프로그램의 설치, 운영방법, 설정문제에 관한 도움을 드리지는 않습니다.

+
제목 글쓴이 날짜 조회
14년 전 조회 1.5만
14년 전 조회 1.1만
14년 전 조회 1.9만
14년 전 조회 1.5만
14년 전 조회 9,464
14년 전 조회 9,951
14년 전 조회 2만
14년 전 조회 9,272
14년 전 조회 8,177
14년 전 조회 4.5만
14년 전 조회 1.4만
14년 전 조회 1.2만
14년 전 조회 1.8만
14년 전 조회 1만
14년 전 조회 1.3만
14년 전 조회 1.2만
15년 전 조회 1.7만
15년 전 조회 1.3만
15년 전 조회 2.1만
15년 전 조회 1.2만
🐛 버그신고