제로보드4의 보안 취약점에 대한 정보와 패치 자료들을 공유하는 곳입니다.
제로보드4로 사이트를 운영하시는 분들의 많은 관심과 정보 공유 부탁드립니다.
보안 관련 내용이 아닌 경우 삭제될 수 있습니다.

CSRF 라는 보안 취약점 공격 방법이 있습니다.


이 방법은 게시글등에 보안 취약 코드를 삽입하여 관리자가 그 글을 보거나 글의 링크를 클릭할때 발생할 수 있습니다.

즉 관리자로 로그인한 사용자가 그 사이트에서 행동하는 모든 활동은 관리자 권한을 가지게 되기 때문에 발생하는 보안 취약점입니다.

XpressEngine은 이런 CSRF 문제를 가능한 발생하지 않게 조치를 해 놓았지만 제로보드4는 현재 어떤 취약점이 발생할지 알 수 없는 상황입니다.


다행히 이런 CSRF 보안 취약점을 통해 제로보드4에서 임의의 사용자를 최고관리자로 바꿀 수 있는 문제를 공유 받아 패치 내용 공유드립니다.


문제 해결 방법은 ./admin/admin_exec_member.php 파일의 106 번째 줄에 다음과 같은 코드를 삽입함으로서 해결될 수 있을 것 같습니다.


./admin/admin_exec_member.phpPOST방식이 아니면 종료
if($_SERVER['REQUEST_METHOD']!='POST') die("비정상적인 접근이라 차단됩니다"); 


 즉 링크를 클릭해서 접근시 GET 방식으로 접근하기에 POST 방식에 대해서만 허락을 하면 될 것 같습니다.


수정한 해당 파일을 첨부해 놓겠습니다.


해당 파일의 소스 수정을 하지 않으신 분은 덮어쓰셔도 될 것 같습니다.




profile

[레벨:17]제이엔지

2010.02.11 19:48:59
*.78.140.240

제로님~ 수고많으셨어요.

제로보드4 사용자들이 아직도 많고

저도 아직 제로보드4 사용하는데.

제로보드4 사용하는 분들 위해 그렇게 알려주시니

그 마음 너무나 고맙습니다~

[레벨:1]상콤발랄보노군

2010.02.12 00:58:03
*.142.27.214

좋은 패치 감사드립니다.

 

하지만, 제 의견을 좀 보태보자면

 

이것도 자바스크립트 삽입 공격을 통한

XMLHttpRequest 나 플래시 등 프로그램의 POST 접속 방법으로 우회가 가능하리라 봅니다.

 

그래서.. 가장 최선의 해결책은..

제로보드4의 모든 php 파일에서 HTTP_REFERRER 을 체크하게 해 줌으로써 정상적인 레퍼러에서 온 요청이 아니라면

접근을 거부시키는 것도 CSRF HOLE 보안에 도움이 되리라 생각합니다.

(또, 인클루드 전용 PHP를 사용자가 직접 실행시키려 하는 경우도 체크하는게 좋겠죠.

아마, PHP 프로그램 자체의 오류 메시지로 인한 정보 유출이나, PHP Injection 등의 취약점에 도움이 될 겁니다.)

 

현존하는 많은 사이트들도 악성 HTML 태그 자체를 완벽하게 막기 위해 노력하는 것 보다는,

이 방법으로 보안을 하고 있는 것으로 알고 있습니다.

[레벨:30]zero

2010.02.12 09:43:06
*.13.26.81

CSRF막는 가장 최선의 방법은 관리자로 로그인하여 게시글을 보지 않는 것입니다.

HTTP_REFERER는 단순 헤더에 추가하는 것만으로 조작이 가능하기에 믿지 않아야 할 값입니다.


[레벨:1]상콤발랄보노군

2010.02.12 22:18:54
*.142.27.214

흠...

 

그래도 POST 접속을 가능하게 하는 XHR이나 플래시는 보안상 HTTP_REFERER 헤더 수정을 막아놓았기 때문에

조금이라도 안전할 듯 싶어서 올려보았습니다.

 

하지만, 이것도 결국 아이프레임 같은걸 사용해서 순차적으로 자연스럽게 페이지를 이동시키게 하면 전혀 소용이 없으니.

 

결국 CSRF를 완전히 막는건 자바스크립트를 완벽히 막을 수 있어야 하는 것인데,

이렇게 하려면 커스텀 태그를 사용하거나, HTML파서를 완벽하게 만들어서 HTML 태그를 완벽히 필터링 해야겠고.

 

진짜 어려운 문제겠네요. ㅠㅠ;

[레벨:2]다크진

2010.02.17 11:02:03
*.27.192.98

정보 감사합니다

profile

[레벨:0]눈송이

2010.05.08 16:40:33
*.159.203.44

메소드까지 조종가능합니다...

이건 미봉책입니다......

실질적으로 방어하려면 각각 전달변수에 고유키값을 전달시키고 받는쪽에서 일치하는지를 검사하는것이

가장 안정적입니다..

지금 이 내용을 보고 제로보드4가 CSRF 패치가 이루어지지 않은 상태임을 깨닫고 보니 암담하네요....ㅠㅠ

 

내가 만든게시판도 있지만 불안정해서 쓰려 했건만.......ㅠㅠ

 

그냥 내꺼 써야겠다는...........

List of Articles
번호 제목 글쓴이 날짜 조회 수
공지 2010년 12월 22일 RFI 취약점 보안 패치 [1] XE Core 개발XE Developers 2010-12-22 8290
공지 보안 정보 공유 게시판 안내 [1] [레벨:30]zero 2009-09-11 7132
53 게시판 제목 계속되는 변조 방법이 없나요? [1] [레벨:1]석이.. 2010-04-03 1746
52 계속 뚫립니다. [레벨:0]김동하123 2010-04-03 1827
51 이것도 제로보드 해킹인가요? [2] [레벨:1]박지현403 2010-03-30 3605
50 인터니즈2님이 올리신 SQL인젝션 대응법.. [7] [레벨:2]박준규159 2010-03-17 2580
49 또 공격.... [3] [레벨:3]쥬시쿨 2010-03-06 2799
48 해킹인지 아니면 일시적인 오류인지 모르겠는데요... [1] [레벨:2]박준규159 2010-02-20 2457
47 (정보) html을 표준에 맞게 정리하고 스크립트실행을 방지시켜 주는 html purifier [레벨:1]상콤발랄보노군 2010-02-18 2053
» 제로보드4 관리자 세션을 이용한 CSRF 공격 대응 file [6] [레벨:30]zero 2010-02-11 5245
45 홈페이지 php파일이 모두 삭제... ㅡ,ㅡ [1] [레벨:6]아가페 2010-01-23 4510
44 config.php 파일을 외부에서 못 읽게 하기 [1] [레벨:6]아빠불당 2010-01-15 1330
43 SQL인젝션 공격시 대응법 [2] [레벨:5]인터니즈2 2010-01-12 4702
42 또 공격시작이군요... [7] [레벨:3]고펑 2010-01-12 6686
41 레볼루션 스킨... [4] [레벨:2]황현희839 2009-12-28 1312
40 FTP해킹으로 인해 페이지에 악성코드가 심어졌을 때 참조하십시요. file [2] [레벨:2]BRILLIANCE 2009-12-17 1705
39 게시판 덧글에 자꾸 이상한 글들이 생깁니다. file [4] [레벨:0]김우형406 2009-12-10 1234
38 악성코드 소스 그대로 모두 입력해 그런건지... [2] [레벨:17]제이엔지 2009-12-02 6840
37 중국헤킹발 ip 위치추적, 신분증위치추적등,웹호스팅서버내홈페이지수찾기등.. [레벨:1]태양370 2009-11-28 1655
36 비회원이 개인정보를 볼수있는 문제 해결책 [레벨:2]다크진 2009-11-25 5568
35 zb4pl8 해킹 취약점 보완에 관하여 질문드립니다. [1] [레벨:0]박태양569 2009-11-21 1160
34 최근에 SQL 인젝션 받으시는 분들 download.php 파일 수정하시기 바랍니다. [1] [레벨:2]Xian 2009-11-20 1686