해킹팀

시큐어코딩편 - (3) imaso편 본문

밝혀진진실

시큐어코딩편 - (3) imaso편

타이거팀 2016. 8. 11. 11:58

 

 

 

 

해킹팀은 앞에서 잠깐 언급했던 잡지인 마이크로소프트웨어지 imso에 대한 이야기를 좀 해보겠다.

 

우리나라 IT 개발자라면 열심히 탐독하던 너무나 사랑받던  IT잡지였는데, 2015년 12월 폐간되어 사라졌다.


사라졌으니 당당하게 imaso 관련 이야기를 꺼낼수 있겠다.








 




imaso 홈페이지는 우리나라 인터넷 태동기에 만들어진 뒤, 몇년간 웹사이트 업그레이드를 제대로 하지못하고 방치되고 있었다.

 

IT기자는 개발자와 잦은 만남으로 최신 트렌드에 대한 취재를 통해 굉장히 빠르게 트렌드를 습득했지만, 실제 전산 요원이 없으면 출판사의 조그만 사무실에서 IT 신기술을 서버측에 적용하기란 만만치가 않은게 사실이다.

 

그러다보니 낡은 기술이 뒤덮힌 imaso 웹사이트에서 최신 IT 트렌드 컨텐츠를 소개해야하는 아주 아이러니한 잡지가 되어버렸다.

 

해킹팀은 대학 4학년때 출판 계약때문에 imaso를 발행하는 (주)정보시대 사무실을 두어차례 방문한적이 있는데, 인세 계약이라 인지를 붙여야해서 손가락이 부르트도록 도장 2천개를 그 자리에서 찍다 오기도 했다.

 

IT 출판사 사무실 치고는 그렇게 크리에이티브한 분위기는 아니었던걸로 기억되지만, 나중에 블로터닷넷에서 도안구 편집장이 오면서 imaso는 워드프레스 CMS및 Responsive Web이라는 최신기술로 무장한 웹사이트로 환골탈태하기도 했다. 


이번 연재 맨 처음 사진이  워드프레스CMS 기반으로 변신했던 imaso 웹사이트이다. 


이미 폐간되어 없어졌어도 전세계 웹사이트들의 메인페이지를 자동화로봇을 이용해 일일이 긁어와 보관하는 프로젝트인 web.archive.org  웹아카이브 사이트에 미리 저장해둔 이미지들을 사용해 이번 연재를 블로그에 올린다.  


WayBack Machine 옆에 http://imaso.co.kr 을 입력하면 웹아카이브측 스토리지에서 연도별로 저장된 웹사이트 메인페이지를 찾아낸다. 심지어 당시 배너광고 이미지나 자바애플릿 컴포넌트도 그대로 잘 보존해두고 있다. 






자, 이제 우중충한 모습을 하던  imaso 구형 웹사이트인데,  필자 해킹팀이 주목한 것은 바로 저 마소DB의 PDF서비스란 항목이다.

 

 

 

 

 

 

 

PDF 서비스는 말그대로 500원 정도의 캐시를 받고, 마소잡지 이번 달 부터 지난 과월호 기사들도 PDF 파일로 서비스해주는것이었는데, 잡지 전체가 아니라 하나의 기사에 대해서만 500원이라 좀 비싼 감이 있었다.

 

과월호는 가격이 싼편이라 몇달후 과월호를 세권씩 몰아서 사기도했지만, 원하는 달이 품절되기도 하고, 개발하다 궁금한 게 생기면 PDF 파일이 당장 필요하고, 캐시를 충전해서 지불해야되는 식이었기때문에 속된말로 캐시만 엄청 땡기면 이 머리아픈 일을 할 필요가 없었다. 


내가 PDF를 다운받기를 원할때  PDF파일을 그냥 imaso 몰래 무료로 내려받는 방법이 없을까?  하다가 착안한 방법이다.


캐시를 조작하는 방법도 있겠지만, 항상 월말 정산에서 비는 돈들은 전부 들통이 나기때문에 이쪽은 아니고 서버 우회를 하기로했다.  

 

 

웹사이트 중간에  "데이터 시대,  DB산업은 창조경제의 동력" 이란 기사를 클릭하면

 

그누보드로 점프를 하는데 링크부터 유심히 보자. 

 

 

* imaso 그누보드 링크

 

http://www.imaso.co.kr/?doc=bbs/gnuboard.php&bo_table=article&publishdate=20120101&wr_id=43242

 

 

여기서는 기사번호인 wr_id=43242에 먼저 주목하자.

 

imaso는 나름 마소잡지의 기사들을 기사번호를 통해 관리하고 있었는데, 그 번호 체계는 5자리로 39424나 43242가 붙는 식이었다.

 

PDF파일을 제공할때는 p43242.PDF라는 파일명으로 다운로드 링크를 제공해주었다.


해킹팀은 먼저 500원 캐시를 땡겨서 PDF 다운을 한번 받아보았다.

 

사용자에게 직접 다운로드되는 링크주소를  보여주진않기때문에 만만치 않은 일이지만, 담당 기자가 PDF 파일을 서버에 업로드하면서 실수로 해당 PDF 파일을 빼고 업로드를 한 경우가 있었다.

 

그러면 다운로드를 요청할때 PDF파일이 그 위치에 없어 에러메시지가 나게되고, 메시지 창에서

 /home/old/public_html/data/file/article/pdf_file/43/ 링크에  해당 파일이 없다는 귀중한 힌트를 던져준다.

서버 전체 디렉토리가 다 유출된 것이다.

 

 

어! 이거봐라?

 

해킹팀은 이걸 놓치지않고 바로 사진으로 찍고, 다운로드 링크를 임의로 여러가지로 조립시켜봤더니 다음처럼 나온다.

 

이 서버는 아파치 서버로 public_html이 웹서버 root 디렉토리이다.

 

/home/old/public_html/data/file/article/pdf_file/44/p44836.pdf

 

 

조합하면 다음이 정확한 URL이 된다.

 

http://www.imaso.co.kr/data/file/article/pdf_file/43/p43242.pdf

 


그냥 웹브라우저에 이 URL 주소를 넣어보니 캐시를 전혀 지불하지않고도 파일 다운로드가 가능했다.  갓차!  빙고!  올레!

  

imaso는 /data/file/article/pdf_file/ 아래 디렉토리에 PDF 기사 파일이 저장되어 있으며, /43/ 이라는 폴더가 중간에 한번 더 있다.

 

 

www.imaso.co.kr/data/file/article/pdf_file/ 

 

www.imaso.co.kr/data/file/article/

 

hwww.imaso.co.kr/data/file/


 

이런 중간단계 임의접근 방식을 통해 웹브라우저에 일일이 넣어보면 해당 디렉토리들에 대한 접근은 웹서버에서 차단해놨다.

 

아피치서버의 디렉토리 세팅은 잘 해놨지만, 정확한 URL에 파일명이 완벽하게 설정되면 즉시 PDF파일 다운로드 허용이 되는걸 이미 눈으로 확인했다. 규칙만 찾으면 된다.

 

 

그럼 39424 wr_id를 가진 다른 기사는

 

http://www.imaso.co.kr/data/file/article/pdf_file/43/p39424.pdf

 

 

으로 다운로드가 되야하지만 생각대로 되지않고 에러가 난다.

 

 

음!! 이건 딱봐도 5자리 기사번호중 앞자리 2자리로 다운로드용 PDF 디렉토리를 만든다는 규칙이 생각난다.  

 

 

ID 앞자리 두자리인 39로 고쳐야 맞는 링크가 아닐까 직접 해보니   갓차! 빙고! 올레!  정답이다.

 

www.imaso.co.kr/data/file/article/pdf_file/39/p39424.pdf

 

 

이렇게 해서 마소의 모든 PDF 기사파일들을 해킹팀은 모두 한 손에 장악해버렸다.  

 

이제 imaso 사이트에서 기사 검색을 통해서 스마트TV라던가 모바일이라던가 내가 흥미있는 기사들만 하나하나 받아서 하드 드라이브에 저장해두면 끝이다.




 

 

 

 


 

Comments