[보안패치] 그누보드 4.34.16
2011년 12월 5일 이전에 euc-kr 버전을 다운로드 받으신 회원님들중 게시판 생성이 제대로 되지 않는 경우가 발생하였을수 있습니다.
프로그램을 새로 다운로드 받으신후 다시 업로드하여 주십시오.
테이블 생성 SQL 코드에 charset 에 utf-8 이 지정되어 있던것을 수정하여 다시 올려 놓았습니다.
불편을 드려 죄송합니다.
------------------------------------------------------------------------------------
4.34.16 (11.11.15)
: [보안패치] XSS 취약점 권고에 대한 수정 (i2Sec-김태형님)
lib/common.lib.php 의 function conv_content() 에서
$content = preg_replace("#\/\*.*\*\/#iU", "", $content);
이 코드의 위치를 바꿔 해결함
// 이런 경우를 방지함 <IMG STYLE="xss:expr/*XSS*/ession(alert('XSS'))">
$content = preg_replace("#\/\*.*\*\/#iU", "", $content);
$content = preg_replace("/(on)([a-z]+)([^a-z]*)(\=)/i", "on$2$3$4", $content);
$content = preg_replace("/(dy)(nsrc)/i", "dy$2", $content);
$content = preg_replace("/(lo)(wsrc)/i", "lo$2", $content);
$content = preg_replace("/(sc)(ript)/i", "sc$2", $content);
//$content = preg_replace("/(ex)(pression)/i", "ex$2", $content);
$content = preg_replace("/\<(\w|\s|\?)*(xml)/i", "", $content);
// 이미지 태그의 src 속성에 삭제등의 링크가 있는 경우 게시물을 확인하는 것만으로도 데이터의 위변조가 가능하므로 이것을 막음
$content = preg_replace("/<(img[^>]+delete\.php[^>]+bo_table[^>]+)/i", "*** CSRF 감지 : <$1", $content);
$content = preg_replace("/<(img[^>]+delete_comment\.php[^>]+bo_table[^>]+)/i", "*** CSRF 감지 : <$1", $content);
$content = preg_replace("/<(img[^>]+logout\.php[^>]+)/i", "*** CSRF 감지 : <$1", $content);
$content = preg_replace("/<(img[^>]+download\.php[^>]+bo_table[^>]+)/i", "*** CSRF 감지 : <$1", $content);
프로그램을 새로 다운로드 받으신후 다시 업로드하여 주십시오.
테이블 생성 SQL 코드에 charset 에 utf-8 이 지정되어 있던것을 수정하여 다시 올려 놓았습니다.
불편을 드려 죄송합니다.
------------------------------------------------------------------------------------
4.34.16 (11.11.15)
: [보안패치] XSS 취약점 권고에 대한 수정 (i2Sec-김태형님)
lib/common.lib.php 의 function conv_content() 에서
$content = preg_replace("#\/\*.*\*\/#iU", "", $content);
이 코드의 위치를 바꿔 해결함
// 이런 경우를 방지함 <IMG STYLE="xss:expr/*XSS*/ession(alert('XSS'))">
$content = preg_replace("#\/\*.*\*\/#iU", "", $content);
$content = preg_replace("/(on)([a-z]+)([^a-z]*)(\=)/i", "on$2$3$4", $content);
$content = preg_replace("/(dy)(nsrc)/i", "dy$2", $content);
$content = preg_replace("/(lo)(wsrc)/i", "lo$2", $content);
$content = preg_replace("/(sc)(ript)/i", "sc$2", $content);
//$content = preg_replace("/(ex)(pression)/i", "ex$2", $content);
$content = preg_replace("/\<(\w|\s|\?)*(xml)/i", "", $content);
// 이미지 태그의 src 속성에 삭제등의 링크가 있는 경우 게시물을 확인하는 것만으로도 데이터의 위변조가 가능하므로 이것을 막음
$content = preg_replace("/<(img[^>]+delete\.php[^>]+bo_table[^>]+)/i", "*** CSRF 감지 : <$1", $content);
$content = preg_replace("/<(img[^>]+delete_comment\.php[^>]+bo_table[^>]+)/i", "*** CSRF 감지 : <$1", $content);
$content = preg_replace("/<(img[^>]+logout\.php[^>]+)/i", "*** CSRF 감지 : <$1", $content);
$content = preg_replace("/<(img[^>]+download\.php[^>]+bo_table[^>]+)/i", "*** CSRF 감지 : <$1", $content);
첨부파일
|
댓글을 작성하시려면 로그인이 필요합니다.
로그인
댓글 57개
영어로땡큐
적는게 맞다면 최하단쪽에 적는지요 ..?
알려주세요 ㅠ!!
function conv_content << 이 문장으로 검색을 하셔서 해당함수로 가시구요,
그 함수 내에 아래의 내용이 있는 곳으로 내려가보세요. (4.34.15버전기준 477~478라인)
// 이런 경우를 방지함 <IMG STYLE="xss:expr/*XSS*/ession(alert('XSS'))">
$content = preg_replace("#\/\*.*\*\/#iU", "", $content);
이제 이 내용을 블럭지정하셔서 잘라내기 하시고,
다시 13줄정도 조금 올라가셔서 아래 문장을 찾으시고(4.34.15버전기준 464라인) 그 위에 잘라낸 문장을 붙여넣으시면 됩니다.
$content = preg_replace("/(on)([a-z]+)([^a-z]*)(\=)/i", "on$2$3$4", $content);
그럼 아래와 같은 모양이 되겠죠. 라인사이의 공백라인은 없어도 상관없습니다..
.......
//$content = preg_replace("/(on)([^\=]+)/i", "on$2", $content);
// 이런 경우를 방지함 <IMG STYLE="xss:expr/*XSS*/ession(alert('XSS'))">
$content = preg_replace("#\/\*.*\*\/#iU", "", $content);
$content = preg_replace("/(on)([a-z]+)([^a-z]*)(\=)/i", "on$2$3$4", $content);
.......
여기서 .......은 위아래 내용이 주욱 이어진다~ 뭐 이런 의미입니다.. 혹시나 하는 노파심에..;;
저 모르는 사이에 나왔네요ㅋ
뉴질랜드에서~~
보안관련부분은 따로 common.lib.php 에 넣지 말고 따로 security_include.php 이런 식으로
외부로 뺀뒤에 common.lib.php 에서 security_include.php 파일을 인클루트 하게 하면
어떨까요?
그러면 보안쪽 업데이트가 필요하다면 security_include.php 만 수정해주면 되므로
common.lib.php를 손댔던 사람/업체등에서도 손쉽게 업데이트 할 수 있을거라 생각합니다
^_^ 의견이니 검토 부탁할께요 ^^
그누짱~~~