행정안전부 G-PIN 해킹하기
게시일: 2008/04/24 | 글쓴이: doa | 14031 번 | 프린트 | 메일


사실 이 팁은 해킹이라기 보다는 로그인 우회하기라고 표현하는 것이 더 낫다. 그 이유는 시스템 서버를 해킹하는 것이 아니라 로그인 검사 중 특수문자를 허용하도록 내려받은 HTML 파일을 바꾸기 때문이다. 필자가 이 팁을 공개하는 이유는 다음과 같다.

  1. 필자의 암호 공개 행정안전부 G-Pin - 졸속 행정의 전형 라는 글에서 알 수 있듯이 행정안전부의 G-PIN 사이트는 가입할 때나 암호를 바꿀 때에는 특수문자를 입력하도록 강제하고 있다. 그러나 막상 특수문자가 입력된 암호로 로그인을 하려고 하면 다음 그림처럼 암호에 특수문자를 사용할 수 없다는 오류 메시지를 띄운다.

    클릭: 그림 확대


    아직까지 G-PIN에서 이 문제를 고치지 않았지만 G-PIN에서 이 문제를 고친다면 필자의 아이디로 로그인해서 필자의 정보가 유출될 수 있기 때문이다. 로그인을 해서 암호를 바꾸어야 하는데 현재로는 로그인할 수 있는 방법이 없다.

  2. G-PIN의 보안 허약한 보안 경고 명색이 행정부 사이트인데 보안이 이처럼 허술할 것으로는 생각하지도 못했다. 웹에 대해 기초 지식만 있는 사람이라고 해도 행정안전부 G-PIN 사이트의 로그인은 쉽게 우회할 수 있다. 그 이유는 웹 사이트를 구축한 사람이 보안이라는 개념이 아예 없는 사람이기 때문이다.

    일반적으로 대부분의 웹 사이트에서 로그인 검사는 클라이언트 스크립트(예: 자바스크립트)를 사용한다. 그런데 클라이언트 스크립트는 간단히 바꿀 수 있다. 따라서 로그인과 같은 중요한 절차를 수행할 때에는 반드시 참조 URL을 검사해서 로그인 시도가 정상적인 위치에서 행해졌는지 확인해야 한다. 그러나 보안이 허접한 사이트는 이러한 검사를 하지 않는다. 만약 참조 URL을 검사하지 않으면 클라이언트 스크립트를 얼마나 쉽게 우회할 수 있는지를 예시하기 위함이다.

    이런 방법을 통해 로그인하는 것도 필자에게는 조금 부담이다. 아울러 이런 내용을 공개하는 것 역시 상당히 부담이 된다. 그 이유는 우리나라의 정보통신법은 코에 걸면 코걸이 귀에 걸면 귀걸이 이기 때문이다. 그러나 이런 위험을 무릅쓰고 이 내용을 공개하는 것은 우리나라 정부 부처의 보안 의식이 얼마나 희박한지 알리고, 우리나라 정부 부처에는 가장 기본적인 보안에 대한 인식조차 없는 사람들이 사이트를 발주하고 있다는 것을 보이기 위함이다.

  3. G-PIN 사용자 필자가 행정안전부 G-Pin - 졸속 행정의 전형 라는 글은 쓴 이유는 QAOS.com의 회원인 rainygirl님이 G-PIN 사이트에 로그인할 수 없다는 제보를 했기 때문이다. G-PIN 사이트를 언제 만들었지 모르겠지만 그 동안 이 문제가 한번도 G-PIN 사이트에 보고되지 않았을 것으로 생각하지 않는다.

    그 이유는 암호를 바꿀 때에는 반드시 특수문자를 입력하도록 강제하고 있기 때문에 로그인을 하지 못하는 사용자가 부지기수로 발생할 수 밖에 없는 상황이기 때문이다. 그런데 아직까지 이 문제가 고처지지 않고 있는 것은 G-PIN 운영자의 안일한 대처 때문으로 보인다. 따라서 G-PIN에 가입한 뒤 암호에 특수문자를 입력해서 로그인하지 못하는 사용자가 많을 것으로 보고 이 팁을 공개하게 되었다.


팁이라고 하기에는 너무 간단하다. 그 이유는 웹, HTML, 자바스크립트에 대한 기본 상식만 있으면 가능하기 때문이다. 절다는 다음과 같다.

  1. G-PIN 사이트 에 접속한다. AcitveX를 설치하라는 경고창은 모두 무시한다.
  2. Internet Explorer소스 보기를 이용해서 소스 보기를 한 뒤 웹 페이지 미리보기를 지원하는 편집기(예: EditPlus )에 붙여넣는다.

  3. </head> 태그 바로 위에 다음 코드를 추가한다.

    코드 <BASE HREF="http://www.g-pin.go.k/r">
    클릭: 그림 확대


  4. checkEngorNum이라는 함수를 찾아 valid의 값을 다음처럼 바꾼다.

    코드 변경전: var valid = "abcdefghijklmnopqrstuvwxyz0123456789" 변경뒤: var valid = "abcdefghijklmnopqrstuvwxyz0123456789%"


    클릭: 그림 확대


    여기서 %는 암호에 사용한 특수문자이다. 필자는 암호를 and0form%를 사용했고 여기서 특수문자는 %이기 때문에 마지막에 %를 추가했다. 다른 특수문자를 사용했다면 %대신에 사용한 특수문자로 바꾼다.

  5. 편집기의 브라우저로 보기을 이용해서 변경한 HTML을 확인한다.

  6. ActiveX 설치창이 나타나면 취소스크립트 오류가 발생하면 아니오를 선택한 뒤 로그인 창에 아이디와 암호를 입력하고 로그인한다. 로그인 중 스크립트 오류창이 나타나면 반드시 예를 클릭한다. 아울러 ActiveX 창은 모두 취소하면 된다.

    클릭: 그림 확대


  7. 로그인에 성공하면 왼쪽의 회원정보 확인을 통해 암호를 바꾼다.

    클릭: 그림 확대


그러나 이처럼 보안 의식이 희박한 사이트에서 회원 권한을 유지하는 것 보다는 회원 탈퇴를 하는 것이 낫다고 본다. 필자는 이미 탈퇴한 상태다. 한가지 주의할 것은 탈퇴할 때에도 암호를 물어보며 여기서도 특수문자는 사용할 수 없으므로 꼭 암호를 바꾼 뒤 탈퇴하기 바란다.

숨겨진 이미지 만들기 얼마 전 필자는 블로그에 365일 구라치는 사람에 대한 글을 올렸... (12115) 2008-04-27
하루에 한 가지씩 정품 소프트웨어를 무료로!!! 하루에 한 가지씩이라고 하면 가장 먼... (19725)2008-03-11

QAOS.com에 게시된지 1년 이상된 자료와 관리자가 공개한 자료는 누구나 제한없이 읽을 수 있습니다.
그러나 QAOS.com의 자료를 퍼가는 것은 금지하고 있습니다.

이 정보가 유용하다고 생각되시면 QAOS.com과 많은 다른 사람들을 위해 퍼가기 보다는 링크로 알려주시기 바랍니다.

세상사는 이야기

  • 찾아라! 아이폰 순정용 >
  • 만원대 피젯 스피너를 >
  • 망하는 길을 택한 쿠팡 >
  • 물놀이에 적당한 가성 >
  • 컴퓨터를 IPTV로 2, po >
  • 컴퓨터를 IPTV로 만들 >
  • Warning.or.kr도 우회 >
  • 한국의 100대 부자, 어 >
  • 세상을 바꾼 크롬: 크 >
  • 장난(?)으로 시작한 여 >


  • RSS 구독 (익명 | 회원 | 강좌 | 포럼)
    (C) 1996 ~ 2017 QAOS.com All rights reserved.