보안 공부하는 꼬깔이

Webhacking.kr (링크)



Webhacking.kr 은 웹 해킹을 시작하면 꼭 한번 거치게 되는 워게임 사이트다.


문제 난이도에 따라 문제 해결시 주는 점수가 다르며, 1번부터 61번까지의 문제가 존재한다 (62번부터 66번까지 문제는 아직 미공개)


그럼 본격적으로 문제를 풀기전에 먼저 회원가입을 해보도록 하자!





엥?... 로그인 버튼은 있는데 회원가입 버튼이 없다.. 


그렇다.. 이 사이트는 회원가입부터 문제란거다ㅋㅋ


회원가입 정도는 회원가입 버튼 없이 해야 리얼 웹해커가 될 수 있다는 의미?




마우스 오른쪽 버튼을 누른뒤 페이지 소스 보기를 눌러보자




위의 소스를 통해 알 수 있는것


1. 40번째 줄에 있는 Register 문구를 보면 회원가입관련 내용 이라는것 을 알 수 있다. 


2. 40-43 번줄까지 모두 주석처리 되어있다.


3. 42번째 줄의 input 태그역시 주석처리 되어있기 때문에 메인화면에서 회원가입 버튼을 확인 할 수 없었던 것이다. 


그렇다면 주석을 제거해 버튼태그를 사용가능하게 만들어보자.


Burpsuite, paros 등을 사용해도 주석제거가 가능하지만 크롬의 개발자 모드를 이용해 제거해보자



먼저 ID를 입력하는 폼에 마우스를 두고 우클릭해서 검사(N)를 눌러보자



이런 화면이 나오게 된다.  그리고 사진의 개발자 모드에 파란색으로 표시된 <td>...</td> 태그 옆의 화살표를 누르게 되면 아까 확인했던 주석 처리된 

회원가입 input 태그가 나오게 된다.





이제 여기서 파랗게 표시된 <td>태그에 마우스를 두고 우클릭을 누른 후 Edit as HTML 을 누르게 되면 클라이언트 단에서 HTML을 임시적으로 수정이 가능하게 된다. 


 


input 태그를 제외한 모든 문자를 제거하고 엔터를 누르게 되면 Register 버튼을 확인 할 수 있다.


드디어 회원가입 할수있다!!




Register 버튼을 클릭해보자



ID,PW,EMAIL 입력 이외에 decode me 즉 폼 안의 값을 decode 해서 입력 하라는 것이다.


폼안의 값이 == 로 끝나는 특징을 보면 base64 인코딩이 되어있는 것 같다.


base64 디코딩 사이트 (링크)


링크된 사이트를 이용해 decode me의 문자를 3번 디코딩 하게 되면 값이 나오게 된다.


또 다른 방법으로 파이썬을 이용해 base64 디코딩 하는 방법도 있다. 


#-*- coding:utf-8 -*-
import base64

__name__ = "이꼬깔"

decode_me = "decode_me값 입력"

for i in range(10):
    try:
        decode_me = base64.b64decode(decode_me)
        print decode_me
    except: pass


위의 코드로 decode_me 폼 안의 값을 decode 하면 IP 주소가 나오게 되는데 이것은 바로 해당 사용자의 공인 IP다.


내 공인 IP 확인 <- 링크로 들어가면 자신의 공인 IP를 알 수 있다.


그렇게 회원가입 폼에 ID,PW,EMAIL, 자신의 공인 IP를 입력하면 회원가입에 성공하게 된다 ^_^ 


힘들게 회원가입도 했으니 이제 문제를 풀어보자!



'Web Hacking > Web Hacking.kr' 카테고리의 다른 글

webhacking.kr 6번 문제 풀이  (0) 2017.06.29
webhacking.kr 5번 문제 풀이  (0) 2017.06.29
webhacking.kr 4번 문제 풀이  (0) 2017.06.29
webhacking.kr 3번 문제 풀이  (1) 2017.06.29
webhacking.kr 1번 문제 풀이  (0) 2017.06.29