제로보드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

[레벨:9]제이엔지

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
번호 제목 글쓴이 날짜 조회 수
공지 보안 정보 공유 게시판 안내 [1] [레벨:30]zero 2009-09-11 9025
공지 [수정#1] 2009. 09. 22 보안 취약점 패치 file [20] [3] [레벨:30]zero 2009-09-22 16447
57 [도움요청] 게시판의 "IP 차단"에 제 IP가 등록됩니다. [레벨:1]쥬피796 2010-04-10 305
56 point 쪽 DB 이상 해킹 인가요? [레벨:1]김도희 2010-04-08 252
55 게시판 제목 계속되는 변조 방법이 없나요? [1] [레벨:1]석이.. 2010-04-03 485
54 계속 뚫립니다. [레벨:1]김동하123 2010-04-03 663
53 이것도 제로보드 해킹인가요? [2] [레벨:1]박지현403 2010-03-30 1374
52 인터니즈2님이 올리신 SQL인젝션 대응법.. [6] [레벨:2]박준규159 2010-03-17 832
51 또 공격.... [3] [레벨:3]쥬시쿨 2010-03-06 1568
50 해킹인지 아니면 일시적인 오류인지 모르겠는데요... [1] [레벨:2]박준규159 2010-02-20 1072
49 (정보) html을 표준에 맞게 정리하고 스크립트실행을 방지시켜 주는 html purifier [레벨:1]상콤발랄보노군 2010-02-18 669
» 제로보드4 관리자 세션을 이용한 CSRF 공격 대응 file [6] [레벨:30]zero 2010-02-11 2508
47 홈페이지 php파일이 모두 삭제... ㅡ,ㅡ [1] [레벨:6]아가페 2010-01-23 2944
46 config.php 파일을 외부에서 못 읽게 하기 [1] [레벨:6]아빠불당 2010-01-15 2962
45 SQL인젝션 공격시 대응법 [2] [레벨:3]인터니즈2 2010-01-12 2603
44 또 공격시작이군요... [7] [레벨:3]고펑 2010-01-12 4436
43 레볼루션 스킨... [4] [레벨:1]황현희839 2009-12-28 3635
42 FTP해킹으로 인해 페이지에 악성코드가 심어졌을 때 참조하십시요. file [2] [레벨:2]BRILLIANCE 2009-12-17 4915
41 이런 내용의 스크립트를 게시물내에 심어 놓는군요. (sql인젝션) [2] [레벨:1]OnroadZone 2009-12-10 4216
40 게시판 덧글에 자꾸 이상한 글들이 생깁니다. imagefile [3] [레벨:0]김우형406 2009-12-10 4184
39 악성코드 소스 그대로 모두 입력해 그런건지... image [2] [레벨:9]제이엔지 2009-12-02 4416
38 중국헤킹발 ip 위치추적, 신분증위치추적등,웹호스팅서버내홈페이지수찾기등.. [레벨:1]태양370 2009-11-28 4774