웹마스터 팁
다른 사이트에 있는 파일 읽어오기
2003.07.25 22:30
$fw=fopen("data/".$filename.".tmp", "w" ); // $filename 저장할 파일이름을 정해줍니다.
if($fp=@fopen($_POST[url],"r")) // 폼에서 넘어온 url로 접속하여 파일을 열어 존재하는 파일이면 계속 진행
{
while(!feof($fp)) // 파일의 끝부분까지 포인터를 하나씩 이동합니다.
{
$s=fread($fp,1); // 1바이트씩 읽어 옵니다.
fwrite($fw,$s,1); // 1바이트씩 기록해 나갑니다.
}
fclose($fp);
fclose($fw); //파일을 닫습니다.
}
?>
악용의 가능성이 상당히 많은 소스이지만.. 제대로 사용되길 바라면서 올려 봅니다.
제로보드에 응용하면 링크주소에 url만 채워 넣으면 링크대신 업로드 시킬수도 있습니다.
사실 이걸 이용해서 완벽한 오에카키 스킨을 만들려고 했으나.
수정된 제로보드 파일배포는 제로님께서 허락을 안해주셔서 ㅠㅜ
다른방법을 찾고 있습니다 ^^;;
그럼 유용하게 쓰세요~
아무래도 제목때문에 많은 오해가 생긴것 같습니다.
설명이 부족한 제탓도 이겠습니다만.
이소스는 php원본 소스를 불러올수 없습니다.
html로 처리된 결과를 가져오게 되죠.
결국 읽어오려면 그 파일의 url을 알아야합니다.
다시 말하면 브라우져로 볼수있는 결과물만 받아올수 있습니다.
브라우져로 연 html파일이나 그림파일을 자신의 컴퓨터에 저장을하고
다시 나의 서버로 올리는것과 같은겁니다. 내컴퓨터를 거치지 않고 바로
서버에서 서버로 불러간다는것이 다를뿐입니다.
좋은 의도로 올린 소스였는데. 그래도 삭제가 필요하시다고 하신다면
삭제 하겠습니다. 죄송합니다.
댓글 50
-
piasol
2004.12.01 09:20
........ 글진짜 많다... 정작 필요한 글은 몇개 없다는게 좀,.. 잘보고갑니다 -
주선
2003.08.13 04:02
-_-);;
갑갑하군요 ...
공부 더하고 오시길... -
김재경
2004.04.18 19:31
저 소스로 해킹 불가능...그러나 유용한 소스..
엄청난 뒷북이었습니다. -
TheMics
2003.07.27 10:29
김규백//1바이트는 읽어오는게 너무 작은 것 같네요; 숫자를 늘려줘도 무난합니다.
또한 파일을 가져오는데는 아주 좋은 함수가 하나 있죠. file()이라는 함수인데, 해당 파일을 모두 한 변수에 담아줍니다. 여기서 자료를 매 줄별로 배열로 저장하죠. 첫째줄은 [0], 두번째줄은 [1]..이런식으로요.
그 덕에 file과 함께 쓰이는 함수가 배열을 합쳐주는 join인데요, 위 소스를 간단하게 바꿔보겠습니다.
$fp = fopen("data/".$filename.".tmp", "w" );
$data = @file($_POST[url]);
if($data) {
$data = join($data);
fwrite($fp,$data);
}
fclose($fp);
http://kr.php.net/manual/kr/function.file.php을 참조해 보세요 :) -
TheMics
2003.07.27 10:22
TheSc1991//걱정이 지나치시군요. 저건 다른 서버에 있는 파일을 그대로 긁어오는 것이 아니라 서버에서 해석된 결과, 즉 HTML상의 출력물만을 가져오게 됩니다.
간단하게 엔죠의 zboard.php를 가져와 보세요. ( http://www.nzeo.com/bbs/zboard.php ) TheSc1991님 말씀대로라면 제로보드 소스, 즉
<?
/***************************************************************************
* 공통 파일 include
**************************************************************************/
(중략)
/***************************************************************************
* 마무리 부분 include
**************************************************************************/
include "_foot.php";
?>
이런 내용이 나와야 하겠죠. 하지만 실제 실행시켜보면 http://www.nzeo.com/bbs/zboard.php를 웹브라우저에서 호출한 후 소스보기를 한 결과, 즉
<!--
ZeroBoard에 대한 라이센스 명시입니다.
아래 라이센스에 동의하시는 분만 제로보드를 사용할수 있습니다.
(중략)
Session Excuted : 0.0133
PHP Excuted : 0.002
Total Excuted Time : 0.015
-->
이런 HTML이 출력될 뿐입니다. -
김규백
2003.07.27 13:04
file 함수 등으로 해보았는데요. 윈도우쪽 서버랑 리눅스쪽 서버에서 결과물이 다릅니다 ㅡㅡ;
윈도우쪽은 파일이 깨지는것 같아서요.
fread로 1바이트씩 읽게하면 똑같은 결과가 나오더군요 ^^;;; -
TheSc1991
2003.07.26 09:07
이거 자진삭제 하세요 이런것들때문에 제 계정도 해킹당할뻔 했습니다.
만약에 DB정보 담겨있는 파일을 쎄벼오면 어쩌겠습니까??
해킹밖에 않당하지 부디 자진삭제하시길 -
TheSc1991
2003.07.26 09:08
제가 님게정 해킹 해볼까요?? 이소스 응용해가지고?? 부디 자진삭제 하시길... -
TheSc1991
2003.07.26 09:12
악용이 가능한 소스를 올리면 안되겠죠.. -
갸륵한놈
2003.07.26 11:22
이게 뭔데요? 사용방법은 뭐구요..
그리고 아무리 악용이 가능하더라도 좋게 쓰면 되죠.. -
갸륵한놈
2003.07.26 11:23
불도 마찬가지죠.. 잘쓰면 도움되고 못쓰면 생명을 앗아가죠 :) -
갸륵한놈
2003.07.26 11:25
사용법을 가르쳐 주세요~~ -
TheSc1991
2003.07.26 12:32
불하고 이게 뭔상관 입니까.. 그리고
누가 힘들게 만든 홈페이지 그걸 해킹 시도 없이 쌔벼간다면 만든 사람은 기분이 얼마나 나쁘겠습니까? 아 이게 문제가 아니라...
제로보드에 DB 접속 정보가 담긴 config.php 만 가져오면 해킹 충분히 가능 합니다.
보안이 문제 입니다. 삭제하시길. -
TheSc1991
2003.07.26 12:33
아 그리고 이 소스등을 좋은데 사용하는것보다 나쁜곳에 사용할려고 하는사람이 더 많을걸요 -
갸륵한놈
2003.07.26 12:39
다시 보니, 위에 님 말도 그럴듯하네요.
그런데 '이걸로 해킹도 가능하다' 를 공개적으로 왜 말 합니까..-.- -
테크너
2003.07.26 12:40
이거 어떻게 쓰는거죠? 혹시...HTM소스 받아서 볼수있는거예요? 홈페이지 공부를 하려하는데- 유명싸이트 레이아웃을 보고 싶어요. 그런 소스는 없나요? -
chadr
2003.07.26 13:27
제가 php를 안해봐서 모르겠지만.. fopen이라는 함수를 레퍼런스에서 찾아보니..
"HTTP 1.0 연결이 지정된 서버를 열어줍니다.그리고 파일 포인터는 응답텍스트의 시작부분으로 돌려집니다.."
이런말이 있더군요.
이말은 저 함수로 url을 연다고 해서 php확장자 같은 서버에서 실행되는 파일 형태는 그대로 못가져올것 같은데요? 즉, 웹서버가 php를 실행해서 나온 결과물의 응답텍스트의 시작 부분을 리턴한다는 이야기인듯.. HTTP라는 프로토콜이 지정된 서버를 열어주기 때문이죠. FTP로 연다면 모를까.. 하지만 FTP는 소유자 인증 과정이 있으므로 불가능할것 같고..
소스 테스트를 안해봐서 저도 잘 모르겠네요;
그냥 제 생각이었습니다. -
갸륵한놈
2003.07.26 12:52
-
카카시원츄
2003.07.26 13:35
갸륵한놈 님을 말하는겁니다; -
chadr
2003.07.26 13:35
아.. 그렇군요 죄송; -
hooniv
2003.07.26 17:19
제가 알기론 아직까진 서버에 직접 접속하지 않고 주소만으로 알수 없는걸로 아는데요.. php요.. -
holies
2003.07.26 20:34
저 소스로는 절대 PHP 원본 가져오지 못해요. 저 위에 분 너무 과민 반응 하신 듯... -
하늘아이
2003.07.29 23:32
저기 위해 있는 첫번쨰 의견 올린사람같은 회원때문에 강좌 하다 마는 사람이 많은것 같아요.
무슨내용인지도 모르고 막몰아 세우기나 하고 결국 사과도 없이 소리 소문 없지요.
자신을 반성해야지. -
RedEye(kaist)
2003.07.31 17:14
ㅡㅡ;; -
WebMe
2003.07.31 22:08
-
변효성
2003.08.03 18:41
Thesc님 -_-; 뭔가 좀 문제가 있는 분 같군요. 그리고 저 소스때문에
해킹당할뻔했다는 게 무슨 얘긴지 모르겠군요...;
가끔씩 인터넷에 나타나는 정신쪽으로 문제가 있으신 분들이 nzeo에도 나타나니 할말이 없군요. -
변효성
2003.08.03 18:42
끝 숫자가 1991인것보니 12살짜리란 얘기구먼...; -
뒹굴리스트
2003.08.04 00:35
확실히 초딩 방학 시즌... -
코지니
2003.08.05 14:58
어려운 동생이 있네~ @.@ -
초롱
2003.08.06 08:43
그러게요-_-; 막무가내 동생들이 판치네요. -
TheSC1991™
2003.08.07 13:57
그리고 저는 중학생 입니다.-_- -
TheSC1991™
2003.08.07 13:50
전 초딩이 아닙니다. 아이디만 보고 나이를 판단하는 인간이 어디 있습니까.-_- -
장동민
2003.08.07 13:31
초등학생의 명예를 더럽히는 놈이 아직도 살아 있다니..-_-!! -
지나가다
2003.08.08 13:27
하하하... 유머게시판 인줄 알았어요... 정말 재미있었어요... -
대류
2003.08.09 02:12
허허!~ 웃기는군... -
열반Ⅳ
2003.08.17 02:01
에공..전 이거보고 초중고딩 애덜 가입 못하게 제 홈 막아놨습니다..쯧쯧..요즘 애덜..
컴터 갖고 장난 칠 시간 있음 책 한장이라도 더 보지... -
임태희
2003.08.18 11:53
db정보를 그렇게 쉽게 빼올수 있다면 이건 인터넷 대란이 일어 나죠..
모든 서버는 폐쇠하고 신서버가 등장해야 겠죠..
아직 사용법을 모르는 사람들이 있군요...
인터넷 출력값을 불러와 자신의홈에 뉴스 형태로 보여주는 방법을 쓸때도 이와 유사한 방법을 씁니다만...
조금더 복잡하게 만듭니다.. -
라파엘
2003.08.19 15:46
해석되지 않은 php값을 불러온다면 정말 획기적인 일이지요..ㅋㅋㅋㅋㅋ -
Jupi
2003.08.19 21:32
정확한 사용법 좀 가르쳐주세요..
다른 사이트에 있는 내용을 -> 제 사이트로 출력해서 보는 방법.... -
플로렐라
2003.08.27 11:16
<?
$url = 'http://www.nzeo.com';
$file = file($url);
$size = sizeof($file);
for($i = 0; $i < $size; $i++){
$file[$i] = chop($file[$i]);
echo "$file[$i]n";
}
?>
이소스를 사용하면 $url의 소스를 출력하게되죠. -
손택수
2003.09.03 17:20
제가 컴퓨터 보안학 전공이라 php부분에서 제로보드를 가지고 DB관한 정보를 가져올려고 php만을 사용해서
해봤습니다만.. -_- 두개다 사용해본것인데 않되더군요..
달빛님 말씀처럼 해킹이된다면 서버관리자 문제이거나 프로그래밍할때 무늬만 php인 겨우이겠죠.. -
손택수
2003.09.03 17:19
않될것 같은데요.. -_-;
일단 불가능이라고 해두겠습니다.
저게 가능하면 php는 사장되겠죠.. -_- 무덤속으로 -
쓸쓸한달빛
2003.08.28 19:14
흠흠 위소스로 해킹이 가능하다면 -_-안뚤린곳없다죠 -_-;;;;;
아차차차.. -_-; 저걸로 해킹이가능한곳이있다면 프로그램다시짜세요 -_-;
이상 지나가는이었습니다 -
FOPIRIS
2003.08.30 14:12
플로렐라님의 소스를 응용하면 해킹이 가능하지 않을까요?? -
보거
2003.09.27 22:21
위를 보니 PHP의 특성을 모르고 무작정 말씀하시는 분이 많네요.
제 생각일 뿐이지만,
작성자분께서 파일을 읽어 올 수 있다는 말에 그대로 겁 먹으신거 같네요.
이런 식으로 해킹이 가능하다면 누가 프로그래머를 하죠?
그리고 플로렐라님의 소스도... PHP가 출력하는 값만을 읽어올 뿐입니다.
소스를 읽어오지는 않는다는 얘기입니다. -
sMokaHallo
2003.10.09 22:22
80 포트로 소스파일을 가져올수 있다.
적어도 다른 포트로 접근을 해야 하는 거 아닙니까?? -
차병권
2003.12.10 03:47
예기하시는게 전부 고수님 들이네요...
부럽습니다... -
piasol
2004.01.21 21:30
모두들 이것에 대해서는 좋은쪽에만 꼭 쓰셨으면 하네요 ^^
위험 수치도 있지만. 올리신분께서는 그런 의미는 아니었겠죠
사용하시는분들은 좋은 쪽으로 쓰실거란걸 믿으시겠죠 ^^
만약 악용하신다면 그데로 당한다는 부처눈엔 부처만 보인다는 말도있으니까요.
^^ -
Nako君
2004.06.30 12:36
음음.. 본인도 뒷북이지만, 나쁘지 않습니다. 가령 노프레임 페이지에서 다른 사이트 페이지를 불러온다든지 가능하므로..
그렇다곤 해도 해킹 운운 하는건 좀...
아무리 PHP가 누구나 사용할 수 있는 오픈웨어라고 해도 기본적으로 인터넷에서 쓰이는 만큼 일단의 보안성은 갖추고 있는 것이죠. -
김용현
2005.11.15 09:56
하하 어이없네
그렇게 php파일이 엄청 간단하게 달랑나왔으면 제로보드는 존재 안했을거다
낄낄
제목 | 글쓴이 | 날짜 |
---|---|---|
동적으로 Extensions(library) 로딩하기 | impre | 2003.09.20 |
include 할시에 주의사항..(경로설정관련) [10] | 피너츠 | 2003.09.14 |
지정한만큼 암호화/해독 하기 [24] | 뒹굴리스트 | 2003.09.10 |
모든파일을 리스트로 만들기; [10] | 플로렐라 | 2003.09.10 |
군대간 친구 남은날짜 구하기 2(복무기간 단축에 따른 수정) [8] | 신민경 | 2003.09.02 |
자료실에 쓸만한 자료용량 환산 [7] | 한승진 | 2003.09.01 |
php 랜덤 이미지 디렉토리 검색으로 편하게.. [3] | 꺼노 | 2003.08.28 |
웹디자이너와 프로그래머가 사이 좋게 코딩하는 방법 [50] | 마이템플릿 | 2003.08.13 |
개판 오분전 정규식(1) | 미친개 | 2003.08.07 |
개판 오분전 정규식(2) [5] | 미친개 | 2003.08.07 |
개판 오분전 정규식(3) [2] | 미친개 | 2003.08.07 |
개판 오분전 정규식(4) | 미친개 | 2003.08.07 |
$i++ !== $i += 1 [14] | 플로렐라 | 2003.08.04 |
체널을 응용해서 tmain.php?tdb=test&db=src 식으로 쓰기 [12] | 9000㎒ | 2003.08.01 |
제로보드 + MSN 메신저 (작성글에 리플이나 코멘트가 달리면 MSN으로 알려준다?) [18] | HungryMania | 2003.08.01 |
스킨 시스템 사용하기 [2] | 김규백 | 2003.07.25 |
다른 사이트에 있는 파일 읽어오기 [50] | 김규백 | 2003.07.25 |
초간단 php 랜덤 이미지 및 랜덤 배경이미지 소스 [6] | 거금도 | 2003.07.24 |
'와 "의 속도 차이?! [6] | holies | 2003.07.12 |
Thumbnail 생성하기 - 수정^^; [9] | holies | 2003.07.11 |