티스토리 뷰
워니. 추억ㅇㅔ ㅂㅣ추ㅇㅓ. iwonny.egloos.com valley log-in
2007년 02월 20일
싸이월드 공격 일지
Update 2007-02-20 18:35
/* 쿠니쿠니님께 감사! */
플래쉬 업로드 성공하였습니다~ http://www.cyworld.com/ssowonny
싸이 참, 허허 관리를 그렇게 하는군요-_-
(저도 남말할 것은 못되지만 ㅎㅎ - 아래 소스 보셨나요? 지금 제 집에있는건 조금 보완을 했지만, 엄청나게 쉬운?공격 루트가 숨어져 있죠.)
음, 퇴근시간도 됬고, 가봐야해서 ㅠ_ㅠ
시간 날때 방법 업로드 하도록 하겠습니다 -
( 방문자 기록하도록 플래쉬도 만들어야 겠군요;; )
----
음, 사실 뭐 거창한 걸 기대하시는 분들께는 죄송하지만, 거창하지 않습니다.
두괄식으로 결론 부터 말씀드리자면, 죄송하지만 아직까지는 싸이월드 미니홈피 메인페이지에 스크립트를 넣는 것은 실패 했습니다.
다만, 미니미를 투명인간으로 만드는 것 정도만 성공했군요.
http://www.cyworld.com/ssowonny
자, 그럼 시작해 볼까요?
최대한 HTML만 알면 알아들을 수 있도록 얘기해 보겠습니다.
우선 많은 분들이 올려주신 Tip들을 하나하나 분석해 보겠습니다.
1. 비밀님
http://www.phpschool.com/gnuboard4/bbs/board.php?bo_table=talkbox&wr_id=138257&page=1538
덕분에 미니미를 좀 고쳐볼 수 있게 되었습니다. 감사합니다 ㅎㅎ
하지만
첫째, 그 때 당시에도 이미지를 수정하는 것은 가능했지만, script를 넣는 것은 안되었을 것으로 보입니다.
둘째, 그나마도 막혀서 http://img.cyworld.nate.com/img/myroom/avatar/ 로 시작하지 않는 이미지는 넣을 수 없습니다. 그래서 싸이월드 이미지들로만 구성된 투명인간 미니미를 만들었지만요 ㅎㅎ
자세한 얘기는 조금 밑에서 해보도록 하겠습니다.
2. 비밀님
http://72.14.253.104/search?q=cache:hOuCnaMXCscJ:6666.tistory.com/53+%EC%8B%B8%EC%9D%B4%EC%9B%94%EB%93%9C+%ED%94%8C%EB%9E%98%EC%8B%9C+%EC%98%AC%EB%A6%AC%EA%B8%B0&hl=ko&ct=clnk&cd=1&gl=kr
이 글을 보니 클럽을 이용한다는 것은 플래쉬를 올리는데 이용하는게 아니라, 기록하는데 사용하고 있는 듯 하군요. 스크립트를 사용할 수 있다면 기록은 문제되지 않습니다. (실제로 저는 제 서버를 이용해서 기록하고 있죠. 여러가지 방법이 있을텐데, 예를들면 방문자 정보를 메일로 받는다거나 하는 것도 가능하죠. )
이 글에서 주목할 점은 '플래쉬를 올렸다'는 점인데,
이점에 대해서 조금 밑에서 얘기해 보겠습니다.
싸이월드를 뜯어보자.
사전 지식으로 짚고 넘어갈 것은, 서버측에서 바꾼 정보는 서버를 해킹하기 전에는 수정하기 힘들다는 점입니다.
첫번째, 현재 사용가능한 http://iwonny.egloos.com/2926230?에 대해서 얘기해보기로 하죠.
많은 분들이 자체 계정에서 돌릴 수 있으면 하는 바람을 주셨습니다.
http://www.iwonny.net/source/cy_count/source.txt
에 올려 놓았습니다만,?정말 별게 아니어서 참 민망합니다.ㅎㅎ
지금보니, 몇줄 안되는 소스임에도 불구하고 대충대충 뚝딱뚝딱 한 티가 팍팍 나는군요 ㅠ_ㅠ
php 이구요, db는 사용하지 않았습니다. ( 파일을 직접 만드는 짓같은 것을 했죠 아하하하 ㅠ_ㅠ )
원리는 간단합니다.
싸이월드는 미니홈피 html에 여러가지 javascript를 이용하기 위해서 방문자 정보를 기억하고 있습니다.
여러분이 어떤 미니홈피를 방문했을 때, 자신의 정보가 여러분에게 보이죠? 그것은 정보를 가지고 있다는 것이죠.
그 중에 간단히 가져올 수 있는 정보가 사용자의 tid, 네이트온아이디 입니다.
이것을 어디론가 보내서 저장한다면? 이게 바로 방문자 기록 이군요.
제가 사용한 방법은 script를 이용해서 저 정보를 제 서버로 보내고, 서버에서 받은 정보를 기록하는 방식 입니다.
간단하죠?
두번째, 미니룸에 스크립트를 달 수 있을까?
네, 일단은 리플로 남겨주신 두가지 방법이 생각나는 군요.
1. 미니미를 바꿔보자.
2. 말풍선에 스크립트를 넣어보자.
1. 미니미를 바꿔보자.
네, 첫번째 비밀님께서 힌트를 주셨던 그 방법입니다.
이것이 가능한 이유는 싸이월드가 미니미를 변경할 때, 서버로 보내는 정보가 아이템의 ID가 아닌 아이템의 이미지 주소 이기 때문입니다.
무슨 의미냐구요?
- 미니미의 머리카락을 1번 모양에서 2번 모양으로 바꿨다고 생각해 봅시다. 그리고는 `미니미 저장' 버튼을 눌렀습니다. 그러면 제가 싸이월드로 보낸 정보는 무엇일까요?
a. 머리는 2번이다.
b. 머리는 http://img.cyworld.nate.com/img/myroom/avatar/hair/2.jpg 이다.
a로 하는 것이 보안상 맞습니다만, 싸이월드는 b를 사용했군요.
덕분에 http://img.cyworld.nate.com/img/myroom/hair/2.jpg이 정보만 바꾸면, 미니미 대신에 아무 이미지나 넣을 수 있게 되었습니다. 덕분에 여러 사람이 미니룸에 커~다란 이미지들을 갖다 넣을 수 있게 되었습니다. 어익후 이거 큰일이군요. 싸이월드는 대책을 세웠습니다. 사용자로부터 미니미 변경 정보가 오면,?http://img.cyworld.nate.com/img/myroom/avatar 로 시작되지 않을 경우 오류를 뱉어버리자. 네, 덕분에 외부 이미지는 사용할 수 없게 되었지만, 싸이월드 미니미 이미지는 마음껏 사용할 수 있겠군요. 덕분에 저는 얼굴 그림 대신에 썬글라스를 씀으로서 투명한 사람이 될 수 있었습니다.
2. 말풍선에 스크립트를 넣어보자.
HTML을 아는 분들이라면, 태그가 < 와 > 사이에 온다는 점을 알고 계실 것입니다.
<img src="abcd.jpg" alt="haha" /> 이미지를 넣는 태그입니다.
여기서 의문점이 생기는 분들이 있죠. " 어라? < 와 > 를 쓰고 싶으면 어떻게? >_< 를 적고 싶은걸? "
네, 그냥 적으면 문제가 되겠죠? < 가 시작한 부분부터 어디선가 > 가 나올 때까지 태그로 인식해버리는 바람에 HTML이 깨질 수 있습니다. 그럼 어떻게?
바로 < > 이죠. 이것들은 < 와 > 를 나타내는 문자들입니다. 웹브라우죠(익스플로러 등)은 저 문자를 < 와 > 로 해석해서 보여주죠.
자, 이 얘기를 왜 했느냐?
말풍선에 넣는 말들의 제한을 풀어서 서버로 보낼 수는 있습니다.
제가 <script language="javascript">alert('hello');</script> 라는 스크립트를 넣었다고 해봅시다.
이게 의미하는 바는 hello 라는 경고창을 띄워라 입니다.
싸이월드 서버쪽에서는 저것을 받아서 말풍선에 넣을 때 어떻게 넣을까요?
네! 그렇습니다, <script language="javascript">alert('hello');</script>으로 변경되서 집어 넣는군요.
저런, 서버쪽에서 저렇게 변경하는 것이니 < 와 > 를 쓰지 못하는 이상 제게 스크립트를 쓸 기회는 없군요.
세번째, 메인 페이지에 플래쉬 넣기, 가능할까?
원래 싸이월드를 안했기 때문에, 제 추측을 말씀드려 보겠습니다.
1. 기존에는 싸이월드 메인페이지에있는 사진에 플래쉬를 직접 넣는 것이 가능했습니다. (맞나요?)
하지만 문제점이 생겼죠. 플래쉬를 이용해서 방문자 정보를 알아낸다는 것이었습니다!
2. 싸이월드 내에서 제공하는 플래쉬만 사용하게 해 놓았습니다. ( 맞는지 모르겠네요-_- )
기본적으로 플래쉬와 이미지는 삽입 태그가 다릅니다. 제가 아는 바로 이미지 삽입 태그는 img 이고 플래쉬는 embed를 이용하는 것으로 알고 있습니다. 즉, <img src="hahahahaha.swf" alt="flash?" /> 라고 입력해 보았자 플래쉬가 작동하는게 아니라는 것입니다.
플 래쉬가 올라가는 것 자체가 가능했던 시절, 싸이월드는 embed 를 사용할 것인가, img를 사용할 것인가를 서버에서 결정하도록 해놓았겠죠. 사용자들은 그것을 이용해서 swf를 embed 태그로 사용하도록 넣어 놓았고, 플래쉬가 나올 수 있었던것이죠.
여기까지가 제 추측입니다.
3. 현재 싸이월드는 메인페이지에 있는 사진에 플래쉬 자체를 넣지 않는다.
지금 제가 정상적인 방법으로 싸이월드 메인페이지 사진에 플래쉬를 ( 그것이 싸이월드가 제공하는 것이든 아니든 ) 넣을 수 있는지 알고 싶군요. 없다고 알고 있습니다. (혹시 도토리 주고 사면 올려주는 그런것도 있나요?)
없다고 가정하면?이런 결론이 나옵니다.
싸이월드 메인페이지 사진에는 img 태그만을 사용한다.
이럴 경우 이렇게 저렇게 돌아가도 플래쉬는 img 태그 안으로 들어가서 작동하지 않게 되는군요.
* 추가 : 아주 예전에 해커들이 흔히들 사용했다는 방법이 있습니다. (허술한 곳에서는 아직도 사용 가능합니다.)
비슷한 원리로 얘기를 해보죠.
가나다.jpg 라는 파일을 올려보도록 하겠습니다.
싸이월드가 주는 HTML을 열어보면
<img src='가나다.jpg' alt=' /> 라고 나온다고 가정해 보죠.
이제 가나다.jpg라는 이미지의 이름을?가나다' onload=javascript:alert('hihi'); alt='.jpg 로 변경해 보죠.
그러면 싸이월드가 주는 HTML에 들어가는 정보가 어떻게 될까요?
네! <img src='가나다' onload=javascript:alert('hihi'); alt='.jpg' alt=' />
가 되었으면 하는 바람이군요! 저 코드가 의미하는 바는, 이 이미지가 다 불려지면 javascript:alert('hihi'); 라는 스크립트를 실행하라 입니다. 즉 응용하면 여러가지 일을 할 수 있다는 것이군요.
하지만~ 역시 옛날에 쓰던 방법이니만큼, 안된다는 것이 안타까울 뿐이죠.
스페이스, 한글, ' 등 파일명에 있는 영어가 아닌 글자들은 %23 등의 숫자로 변경됩니다. ( < 가 < 인것과 비스므리 하죠 )
즉, 기대했던 결과값과는 다르군요.
결론,
그런 의미에서 위의 것들을 통한 스크립트 삽입?- 그것을 통한 방문자 기록 - 은 어렵다는 견해입니다.
물론, 여러가지 기상 천외한 방법들이 나올 수 있겠죠, 참신한 아이디어가 넘쳐나는 세상이니까요 ㅎㅎ.
paros를 이용했다는 얘기를 해주신 분이 계시군요, 시간날 때 한번 뒤적뒤적 해 보겠습니다.
많은 분들이 기대를 해주셨는데, 이래서 안된다 저래서 안된다 라는 말씀만 드려서 많이 죄송하네요;
시간 날때 또 다른 방법으로 뜯어보겠습니다 ㅠ_ㅠ 감사합니다.
# by | 2007-02-20 01:23 | 컴이야기 | 트랙백 | 덧글(29)
트랙백 주소 : http://iwonny.egloos.com/tb/3007321
☞ 내 이글루에 이 글과 관련된 글 쓰기 (트랙백 보내기) [도움말]
Commented at 2007-02-20 03:20 # x
비공개 덧글입니다.
Commented by 민찬 at 2007-02-20 04:07 #
Commented by 크리스티아누 at 2007-02-20 06:50 # x
Commented by 발당 at 2007-02-20 09:12 # x
Commented by 워니 at 2007-02-20 09:35 #
Commented by 쿠니쿠니 at 2007-02-20 09:51 # x
Commented at 2007-02-20 11:02 #
비공개 덧글입니다.
Commented by 자유 at 2007-02-20 11:36 #
Commented by 워니 at 2007-02-20 11:37 #
Commented by 에버태지 at 2007-02-20 11:58 # x
Commented by 워니 at 2007-02-20 12:11 #
Commented by 헛 at 2007-02-20 13:13 # x
Commented by 크리스티아누 at 2007-02-20 13:24 # x
Commented by 워니 at 2007-02-20 18:46 #
Commented by 쿠니쿠니 at 2007-02-20 19:23 # x
Commented at 2007-02-20 19:32 #
비공개 덧글입니다.
Commented by lovely at 2007-02-20 19:46 # x
Commented by 하앜 at 2007-02-20 22:25 # x
Commented by sizzai at 2007-02-20 22:33 # x
Commented by jsd9399 at 2007-02-20 22:48 # x
Commented by 이니 at 2007-02-21 00:25 #
Commented by 크리스티아누 at 2007-02-21 02:18 # x
Commented by spatialguy at 2007-02-21 11:08 # x
Commented at 2007-02-21 17:27 # x
비공개 덧글입니다.
Commented at 2007-02-21 22:00 # x
비공개 덧글입니다.
Commented at 2007-02-21 22:33 # x
비공개 덧글입니다.
Commented by 워니 at 2007-02-22 00:31 #
Commented at 2007-02-22 00:39 # x
비공개 덧글입니다.
Commented by 수호전사 at 2007-03-02 10:39 # x
'Application > Debug' 카테고리의 다른 글
[보안과 해킹] 싸이월드 공격 일지 #3 (1) | 2007.03.15 |
---|---|
[보안과 해킹] 싸이월드 공격 일지 #2 (4) | 2007.03.15 |
[보안과 해킹] 백신 성능 비교하기 (0) | 2007.03.15 |
[보안과 해킹] 어플리케이션 보안 서적 소개 (0) | 2007.03.15 |
[보안과 해킹] 무료 백신 (0) | 2007.01.23 |
- Total
- Today
- Yesterday
- 막장로그
- network
- win32
- Network Inspector
- 나비효과
- C#
- console
- 3D Engine
- BadCode
- cartoon
- Life News
- Tech News
- humor
- Embedded System
- Information Processor
- Mabinogi
- 프리랜서로 살아남는 법
- Reverse Engineering
- Battle
- wallpaper
- 야마꼬툰
- Web Programming
- Assembly
- diary
- medical
- Military
- Linux
- WDB
- USB Lecture
- 짤방 및 아이콘
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |