거의 3년간 여기서 많은 배움과 팁만 얻어가다 보안에 관련한 팁글을 보던중, open_basedir 에 관련한 내용이 있어 제 서버에 적용하려고 웹사이트를 뒤적거려 얻은 팁같지 않은 팁입니다 ^^;;
저같은 경우는 현재 무료로 20명정도를 호스팅 해드리고 있는데. 글자그대로 "웹호스팅" 이므로 텔넷은 막아놓고 있습니다 (이건 변명이고.. 쉘상의 해킹에 관해서 모두 막을 자신이 없습니다. ^^;)
문제되는 부분은 php 프로그램을 이용한 웹상에서 다른 계정이용자의 파일을 볼수 있다는 것이었는데 아파치 설정파일에서 open_basedir 를 설정해주니 막히더군요.
파일을 보는 예제) ps. 무단도용 죄송합니다 ^^;
비밀 노팔룡// 웹브라우저로 확인해서 제로보드를 사용한다면...대충찍을 수 있겠죠...config.php파일 있는 위치가 뻔하지 않습니까?
자신의 계정에서 가볍게 php코딩해서 보세요~ 훤히 보입니다..
<?php
$fp = fopen('절대경로파일명', 'r');
while(!feof($fp)) {
$content = fread($fp, filesize('절대경로파일명'));
}
fclose($fp);
echo '<xmp>'.$content.'</xmp>';
?>
해보세요 03/01 20:43:09
아쉬 쉬움 <?php
system("cat /home/계정/public_html/제로보드/config.php");
?>
많은 헛점과 오류가 있을지 모르지만, 혹시라도 있을지 모를 저같은 초보서버 관리자께
조금이나마 도움이 되고자 글을 씁니다.
운영체제는 프비 4.9 이며 아파치 버전은 1.3.29 입니다.
자.. 팁.. 나갑니다 -_-;;
<Directory /home/계정사용자아이디/>
php_admin_value open_basedir /home/계정사용자아이디/:/var/tmp/:/tmp/
</Directory>
이구문을 추가해 주시면 됩니다. 너무 간단한가요 제가 잘 몰라서 이게 어떤문제가 있는지는 모르겠습니다. 다만, 이 구문을 적어주면 해당 계정사용자는 자신의 계정폴더와 /var/tmp/ /tmp/ 폴더만 php의 file 관련 함수로 접근 할 수 있더군요.
접근 가능한 폴더를 더 추가해 주실려면 콜론(:)을 적으시고 추가하시면 됩니다..
바뀐설정을 적용하실려면 아파치를 재시작해주시는걸 잊지마세요.
이상저의 처음이자 팁같지 않은 팁이었습니다.. 꾸벅.
|
0