관리자님, 그누보드 보안 위험 문제에 대하여 어떻게 생각하시는지요?

· 2009-07-11 (토) 20:10:04 · 2103 · 5
@extract($_GET);
@extract($_POST);
@extract($_SERVER);
에 대한 보안 위험 문제입니다.

아래 블로그 참조해 보세요.
http://swbae.egloos.com/1860954

php 공식 사이트에서도 사용을 금하고 있는데요.
http://us2.php.net/manual/en/function.extract.php

이 문제에 대하여 어떻게 생각하시는지요?

PS:  아니 질문답변에 글올리는데 포인트를 걸다니... 포인트 없는 사람은 질문도 못하는 건가요?
|

댓글 5개

궁금하네여 extract를 사용했을때 어떤 방식으로 해킹을 사용하는지,,
extract 에 대한 보안패치가 초반기에 있었습니다.
개인적으로 get, post 는 사용의 편의상 어쩔 수 없다고 생각하고,
그 외(server 등) 수퍼 글로벌 변수는 풀어쓰지 않는게 좋지 않을까? 생각합니다.
또한 꼭 post,get,server,env 등.. 으로 구분해야 하는 중요키에 해당하는 값은 $_POST['변수'] 와 같이 잡아주면 됩니다.
(개인적으로 제가 작업시에는 이렇게 사용하고 있습니다.)

* 그누보드는 수퍼글로벌도 보안상 이유로 따로 처리하고 있으므로 현재상태에서 굳이 수정할 필요는 없다고 생각됩니다.
아래 코드고, 패치가 작년 10월이군요. ;;

ext_arr = array ('PHP_SELF', '_ENV', '_GET', '_POST', '_FILES', '_SERVER', '_COOKIE', '_SESSION', '_REQUEST',
'HTTP_ENV_VARS', 'HTTP_GET_VARS', 'HTTP_POST_VARS', 'HTTP_POST_FILES', 'HTTP_SERVER_VARS',
'HTTP_COOKIE_VARS', 'HTTP_SESSION_VARS', 'GLOBALS');
$ext_cnt = count($ext_arr);
for ($i=0; $i<$ext_cnt; $i++) {
// GET 으로 선언된 전역변수가 있다면 unset() 시킴
if (isset($_GET[$ext_arr[$i]])) unset($_GET[$ext_arr[$i]]);
}
http://www.milw0rm.com/exploits/7792
http://phpschool.com/gnuboard4/bbs/board.php?bo_table=tipntech&wr_id=65848

질답게시판에 포인트제도가 없으면 게시판이 죽습니다.
포인트를 걸어야 답변을 해주는.. ㅡ_
2009-07-12 (일) 13:31:16
extract($_ENV);
extract($_GET);
extract($_POST);
extract($_COOKIE);
extract($_SERVER);

그누에는 $_ENV, $_COOKIE가 빠졌는데...
흑흑 아직도 모르겟네요 extract가 어떻게 해킹을 할수 있는건지 ㅜㅠ
댓글을 작성하시려면 로그인이 필요합니다.

자유게시판

202,899건
+
제목 글쓴이 날짜 조회
09-07-11 조회 1,287
09-07-11 조회 1,476
09-07-11 조회 1,191
09-07-11 조회 2,104
09-07-11 조회 1,540
09-07-11 조회 1,423
09-07-11 조회 1,425
09-07-11 조회 1,891
09-07-11 조회 1,993
09-07-11 조회 1,875
09-07-11 조회 1,219
09-07-11 조회 1,232
09-07-11 조회 1,752
09-07-11 조회 1,232
09-07-11 조회 1,232
09-07-11 조회 1,182
09-07-11 조회 1,306
09-07-11 조회 1,249
09-07-11 조회 1,349
09-07-11 조회 1,510