웹마스터 팁
page_full_width" class="col-xs-12" |cond="$__Context->page_full_width">
안녕하세요, php 보안 취약점인데 한번 보시길..
2003.03.08 16:05
저희 호스팅에서 한분께서
php 를 이용하여 /etc/passwd 를 열수있다고 알려주셨습니다.
물론 그 문제점에 대해서는 알고있었지만, 서버를 이전한후 고3이 되어버려서 바쁜관계로 ㅡㅡ;
보안에 관해서 신경을 안쓰고, 모든 쉘발급을 중지한 상태였습니다.
그러나 쓰시던분께서 이런 취약점을 알려주셔서 관심을 가지게 되었습니다.
일단 여는 방법은 제로보드의 경우
[ 공격방법은 다른분들의 요청에 의해 삭제합니다 ]
이런식입니다.(attack-dest 는 공격대상입니다)
좀더 응용하자면
require ("");
를 응용해서도 열람이 가능합니다. 처음엔 흠칫할정도로 놀랐죠.
php.net 사이트에서 여러가지 Secure 섹션을 열람해 보고 몇가지 해결책이 있다는것을 발견했습니다.
(완벽한것은 아닐것입니다)
버추어 호스팅 세팅에
php_admin_value open_basedir /home/ID:/home/ID/public_html
을 추가합니다.
그러면 basedir 이외의 파일은 access 를 못할것입니다.
그러나 문제점은, 아주 자유롭게 이용을 못하는것이죠.
그 외에는 Safe_mode 를 이용하지만 내공이 부족하여.. 사용치 않고있습니다.
-- 다음은 open_basedir 을 사용해서 /etc/passwd 를 억세스 하고자 할때 발생하는 에러메시지입니다 --
Warning: main() [function.main]: open_basedir restriction in effect. File(/etc/passwd) is not within the allowed path(s): (/home/ID) in /home/ID/public_html/bbs/login.php on line 68
Warning: main(/etc/passwd) [function.main]: failed to create stream: Operation not permitted in /home/ID/public_html/bbs/login.php on line 68
Warning: main() [function.main]: Failed opening '/etc/passwd' for inclusion (include_path='.:/usr/local/php/lib/php') in /home/ID/public_html/bbs/login.php on line 68
---------------------------------------------------------------------------------------------------
이 외에는 퍼미션을 직접 변경하는 방법이 있으나.. 타자가 100000 타가 아닌이상 ㅡ.ㅡ; 모든 파일에대해 퍼미션을
변경해줄수도 없습니다. 물론 효율적인 방법도 아니죠.
혹시 이 문제점을 해결하신분은 리플달아주십시요.
php 를 이용하여 /etc/passwd 를 열수있다고 알려주셨습니다.
물론 그 문제점에 대해서는 알고있었지만, 서버를 이전한후 고3이 되어버려서 바쁜관계로 ㅡㅡ;
보안에 관해서 신경을 안쓰고, 모든 쉘발급을 중지한 상태였습니다.
그러나 쓰시던분께서 이런 취약점을 알려주셔서 관심을 가지게 되었습니다.
일단 여는 방법은 제로보드의 경우
[ 공격방법은 다른분들의 요청에 의해 삭제합니다 ]
이런식입니다.(attack-dest 는 공격대상입니다)
좀더 응용하자면
require ("");
를 응용해서도 열람이 가능합니다. 처음엔 흠칫할정도로 놀랐죠.
php.net 사이트에서 여러가지 Secure 섹션을 열람해 보고 몇가지 해결책이 있다는것을 발견했습니다.
(완벽한것은 아닐것입니다)
버추어 호스팅 세팅에
php_admin_value open_basedir /home/ID:/home/ID/public_html
을 추가합니다.
그러면 basedir 이외의 파일은 access 를 못할것입니다.
그러나 문제점은, 아주 자유롭게 이용을 못하는것이죠.
그 외에는 Safe_mode 를 이용하지만 내공이 부족하여.. 사용치 않고있습니다.
-- 다음은 open_basedir 을 사용해서 /etc/passwd 를 억세스 하고자 할때 발생하는 에러메시지입니다 --
Warning: main() [function.main]: open_basedir restriction in effect. File(/etc/passwd) is not within the allowed path(s): (/home/ID) in /home/ID/public_html/bbs/login.php on line 68
Warning: main(/etc/passwd) [function.main]: failed to create stream: Operation not permitted in /home/ID/public_html/bbs/login.php on line 68
Warning: main() [function.main]: Failed opening '/etc/passwd' for inclusion (include_path='.:/usr/local/php/lib/php') in /home/ID/public_html/bbs/login.php on line 68
---------------------------------------------------------------------------------------------------
이 외에는 퍼미션을 직접 변경하는 방법이 있으나.. 타자가 100000 타가 아닌이상 ㅡ.ㅡ; 모든 파일에대해 퍼미션을
변경해줄수도 없습니다. 물론 효율적인 방법도 아니죠.
혹시 이 문제점을 해결하신분은 리플달아주십시요.
댓글 28
-
Dopesoul
2003.03.11 20:49
-
Dopesoul
2003.03.11 20:46
Sunix 님에게 드립니다.
먼저 Sunix 님께서 어떤 알고자 하는 노력없이..
왜 이러죠? 이런식으로 하셨기 때문입니다.
"무조건 전문지식을 가진사람만 읽으라고 하면 저 같은사람들은 평생 무시만 당하게 되죠 "
그렇지 않습니다. 저는 무슨 땅파서 -_- 이런것 안것도아니고.. 모든 분들이 그럴겁니다.
남들보다 배는 노력해서 얻은것입니다. 앉아서 배우려고만 하지 마시고 직접 알아보세요
이와같은 자료는 더이상 설명할 필요가없습니다..
이세상의 수많은 관리자와 해커들이 자신에게 어떤 정보를 제공하리라는 안일한생각은
하지마세요.. 직접 갈구하고 찾아야만 원하는 정보를 얻을수 있습니다.
만약 저라면 말이죠... 이해가 안간다면 인터넷을 10달동안 해서라도 알아낼겁니다.
단지 모른다는 질문을 하지 않고말이죠. -
Dopesoul
2003.03.09 23:46
Sunix // 문제가 발생하는지 의문이면 하지마세요. 보안이라는 개념부터 확립하시고 이 글을 읽어주세요
이게 아무런 문제가 아니라면 온갖 사람들이 이렇게 떠들고 다니겠습니까?
상식적으로 생각해보세요 -_- 이런 심한말 하긴 싫지만..
너무 어이가없어 몇자 적습니다. 우리나라 몇몇사람들의 보안의식이란.. 발에 차이는 수준이군요.
실망이네요 -
Sunix
2003.03.11 00:02
또 몇자 더 적습니다.
"우리나라 몇몇사람들의 보안의식이란.. 발에 차이는 수준이군요."
라고 말씀하셨는데 우리나라 사람들중 제로보드가 먼지도 모르는 사람도 터무니 없이 많고
안다고 해도 못까는 사람이 많습니다.
무료계정쪽 가보세요 않깔린다고 하는 사람들 천지입니다.
또 보안에 대하여 설명도 않해주고 책도 서점에 어쩌다가 1개 있는것이 보안에
대한 책입니다.(지방에는 말이죠)
저희 집은 수도권이지만 보안에 대한 책을 어쩌다1권 봤죠..
또 세계 발명품들중에 이제 막 깨우치거나 지식을 모르는 사람이
발견하는것이 많죠.
자신이 유식하다고 남들을 깔보니 우리나라에 이기주이자가 많을수 받게 없는것
일수도 있겟죠... 선진국은 사람들이 모여서 집단끼리 경쟁을하지
개인 끼리 경쟁을 하지는 않습니다. -
Sunix
2003.03.10 23:54
Dopesoul//실망시켜 드려서 죄송합니다.
그런대 모른다고 무시하면 결국 계속모르게 되잖아요.
이런 일이 일어 났을때에 전문지식이 없는사람들에게도 구체적으로 어떻게
이일이 위험하다는것은 알려주어야 되는게 아닐까요?
무조건 전문지식을 가진사람만 읽으라고 하면
저 같은사람들은 평생 무시만 당하게 되죠
그러니까 구체적으로 설명을 해달라는 예기죠! -
FriZeX*-_-*
2003.03.08 16:41
제로보드 관련은 삭제하시는게 좋을 듯 합니다-ㅅ-.. -
keymove
2003.03.08 16:32
오늘 올라온 제로보드패치가 저문제때문이 아닌가요??
그리고 라비님 말씀처럼 취햑부분에 대해 자세한 내용을 저렇게 공개하는건 위험할듯합니다.;; -
Dopesoul
2003.03.08 16:30
보안패치가 어딨죠? 그런거 없거든요.. 이건 설정문젠데 -
Dopesoul
2003.03.08 16:31
숨긴다고 해결되는것도 아닌데 왜지우죠.. ㅡㅡ;
conspiracy Silent 군요..
전문가집단에서 컨스피러시 사일런트는 없어져야합니다. -
앳플군
2003.03.08 16:29
보안패치하세요;
그리고.. 이 글은 보안패치와 관련된 글이니.. 삭제해 주시는것도-_- -
Dopesoul
2003.03.08 16:05
설마 /etc/passwd 가 무언지도 모르시는분은 -_- 없으리라.. -
라비
2003.03.08 16:18
어머; 이렇게 가르쳐주시면;;;;;;; -
Dopesoul
2003.03.08 16:23
해결법좀 올려주세요!!!m.m -
Dopesoul
2003.03.08 16:44
그러면 수많은사용자가 저부분에대해서 전부 패치해줘야하나요? -
아레나
2003.03.08 17:17
-
라지엘
2003.03.08 17:17
Dopesoul// 아파치를 특정 유저로 운영하는것은 httpd.conf 에서 수정해야 할 거구요, 비누님이 올리신것은 순서의 나열인듯. 원리를 생각하면 그다지 어렵지 않은 해결방법이죠 :) -
풀비누
2003.03.08 16:51
임시로 혹은 영구적으로 아파치 서버에서의 중요 파일 접근을 차단하실수 있습니다.
이번 건과 관련... 서버 관리자 입장에서는 치명적인 내용이지요 ^^;
다음과 같은 방법으로 중요 파일의 퍼미션을 아파치 서버가 접근하지 못하도록 설정
하실수 있습니다.
예) 1. 아파치 서버의 구동을 nobody 가 아닌 apache 특정 유저로 운영한다.
2. chmod 604 /etc/passwd
3. chmod 604 /etc/passwd-
4. chgrp apache /etc/passwd
5. chgrp apache /etc/passwd- -
Dopesoul
2003.03.08 17:07
지적 감사합니다. 직접적 공격방법은 삭제했습니다.
전문가 집단이었다기보단, 이러한 사실을 아는사람들끼리만 묵시하는 태도가 오히려 화를 부른다고
생각했기 때문입니다.
제가 사고하는 방법이 너무 개방적일수도 있겠군요
물론 Script Kiddie 들의 농간이 있을수는 있지만.. (이런 입장에서보면 관리자들만 귀찮게 하는 것이겠죠)
저는 패치와같은 고식지계같은 방법이 아니라, 더 확실한 해결책을 바랬기때문에 그런것입니다.
꼭 제로보드가 아니어도 파일들은 노출되니까요 :-) -
바른생활 NGEO
2003.03.08 17:55
헐 우짜 이런일이 =ㅅ=; -
격투왕맹호
2003.03.08 18:15
저는 이런계통으로는 잘 모르는데..질문한가지만 좀..
/etc/passwd 를 열어서 보아도 아이디같은것만 나오지 비밀번호같은건 안나오는것같거든요..
그럼 어떤식으로 저걸 응용(?) 하는건지 이해가 잘 안가서요.
저걸 열어서 본후에 그다음은...???? -
Dopesoul
2003.03.08 18:43
응용이 아니라 -_- (많은분들이 꼭 해킹과 연관지으시는군요)
pwunconv 한 상태면 Brute Force 로 해킹가능하구요
pwconv 한 셰도우 상태면 다른 응용방법이 있겠죠
너무 실전에만 연연하지 마시길^^;; -
Dopesoul
2003.03.08 18:44
라지엘 // 해결이 불가능하다는게 아닙니다. 저는 퍼미션을 바꾸거나 하는 방법보다는..
원천적봉쇄를 찾고있습니다. 머 지금은 찾아서 관심없구요^^; 그럼.. -
Sunix
2003.03.08 22:51
어떻게 해킹이 가능한지 이해도 않가고....
어째서 이런 문제가 발생하는지도 의문이군요.. -
Sunix
2003.03.08 23:04
또 아이디는 그냥 정보보기로도 보기가 가능한대 도대체 무슨 문제점이길래.. -
NES.♨™
2003.03.09 01:35
이렇게 생각 합시다,
어떤 책이 있습니다. 그책은 A 꺼입니다. B 사람이 A 사람의 책을 허락 없이 봅니다.
A 사람은 기분이 나쁘겠죠? 왜냐? 허락없이 B가 책을 보았기 때문이죠.
이와 비슷하게 생각하세요.
권한이 없는 사람이, 무단으로 서버내의 중요한 부분을 본다고 생각 해보십시오.
더구나 /etc/passwd 파일이 문제가 아니라, /etc/rc.d/에 들어 있는 방어벽 설정같은 것도 열어 볼수가 있으니..
해킹의 위협도 있겠죠^^?
누가 저파일만 보라는 법은 없다는 것이겠죠? 저걸 악용해서 훨씬 중요한 부분에도 접근한다면 문제가 커진다는.. -
Dopesoul
2003.03.09 10:58
요점은 바로 그거죠. nobody 가 볼수있는것은 다 보인다는? -
이뿐이
2003.03.27 19:57
역시 리눅스는 보안에 취약해
오픈소스의 한계겠지만서도... 쩝, -
Dopesoul
2003.04.05 01:33
리눅스 말고도 -_- 타 운영체제에서도 얼마든지 가능한 공격법입니다.
리눅스는 보안에 취약하다고는 볼수없습니다.
꾸미는 관리자의 능력이죠
보일수도 있겠지만 어차피 보안에 관련하여 대비를 해야할 사람은 관리자 뿐이고,
저는 그 대상에 맞춰 글을 쓴것 뿐입니다.
글이란건 원래 독자를 염두에 두고 쓰는 것입니다.
수많은 기술문서들이 그렇듯, 아무것도 모르는 사람을 대상으로 하는 글은 없습니다.
초등학교 1학년 말하기듣기도 가나다 를 안다는 가정하에 저작된것처럼
이글도 언급하는 정보들을 해설하는 단어나 개념들을 안다는 가정하에 쓰여졌습니다.
왜그렇죠 라는 말을하기전에 글을 이해하려 노력해주셨으면 감사하겠습니다.
김정균님의 초보자 HOWTO 를 첨부합니다.
1) 초보자입니다. 쉽게 설명해 주세요.
답변을 자세하게 길게 해주는 사람들 역시 초보자일 가능성이 높다. 즉 본인이 3
~4줄 짜리 답변이 싫어 난 그렇게 하지 말아야지 하고서는 자세하게 답변을 해주
려고 노력을 한다. 물론 필자도 그랬었다. 하지만 계속되는 답변에서 이런 것은
아니다라는 것을 느끼게 된다. 결국 3~4 줄로 답변 할 수 있는 것만 답변을 하게
된다.
이 것이 답변을하는 사람들의 패턴 이다. 요즘은 왠만해서 모든 문서들이 한글화
가 되어있다. 번역문서도 있을것이고 요즘에는 창작문서들도 엄청나게 많아졌다.
필자가 리눅스를 접했던 3년전의 상황과 비교하면 너무나도 좋아졌다. 하지만 초
보자들은 여전히 이런 훌륭한 문서들은 뒷전이다.
그리고 답변에서는 강좌 이상의 답변은 받기 힘들다. 강좌라는 것 자체가 그사람
이 글로서 표현할 수 있는 최대한의 내용을 담아놓은 것인데 강좌를 보고서는 제
대로 이해가 안된다고 자세하게 설명해 주세요 라는 것은 어불성설이다. 어느 부
분이 어떻게 이해가 안되는 것인지를 질문 해야지 그냥 "자세히" 라는 단어는 그
냥 무시 당할 수 밖에 없는 조건이 되는 것이다.