ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [webhacking.kr] Challenge(old) 33
    Security/web 2021. 7. 31. 22:04
    728x90

    문제 : https://webhacking.kr/challenge/bonus-6/

     

    https://webhacking.kr/challenge/bonus-6/

     

    webhacking.kr

     

     

    33-1

     

    view-source

     

    get방식으로 "hehe" 문자를 넘겨주면 다음으로 넘어갈 수 있나보다.

    >>> import requests
    
    >>> url = "https://webhacking.kr/challenge/bonus-6"
    >>> params = {"get":"hehe"}
    
    >>> r = requests.get(url, params=params)
    >>> r.text
    '<hr>\nChallenge 33-1<br>\n<a href=index.txt>view-source</a>\n<hr>\n<a href=lv2.php>Next</a>\n'

     

    33-2

     

    view-source

    post 방식으로 "hehe", "hehe2"를 넘겨주면 되겠다.

    >>> import requests
    
    >>> url = "https://webhacking.kr/challenge/bonus-6/lv2.php"
    >>> data = {"post":"hehe", "post2":"hehe2"}
    
    >>> r = requests.post(url, data=data)
    >>> r.text
    '<hr>\nChallenge 33-2<br>\n<a href=lv2.txt>view-source</a>\n<hr>\n<a href=33.php>Next</a>\n'

     

    33-3

     

    view-source

     

    $_SERVER['REMOTE_ADDR'] : 접속한 클라이언트의 IP 값

    get 방식으로 내 ip 주소를 넘겨주면 되겠다.

    >>> import requests
    
    >>> url = "https://webhacking.kr/challenge/bonus-6/33.php"
    >>> params = {"myip" : "59.19.24.247"}
    
    >>> r = requests.get(url, params=params)
    >>> r.text
    '<hr>\nChallenge 33-3<br>\n<a href=33.txt>view-source</a>\n<hr>\n<a href=l4.php>Next</a>\n'

     

    33-4

     

    veiw-source

     

    hint 값이 실시간으로 바뀐다.

    time() 함수는 현재 시간을 기반으로 값이 나오는 것 같다.

     

    현재 시간의 값을 MD5로 인코딩해서 password로 넘겨주면 문제가 풀린다.

     

    시간은 계속 흘러가니까.. hint 값에 30초 정도 더해서 MD5 인코딩 한다.

    실시간으로 새로고침을 해야한다.

    url에 get 방식으로 인코딩한 값을 집어넣자.

    F5 F5 F5 F5 F5 F5 F5 F5 F5 F5 F5 F5 F5 F5 F5 F5 F5 F5 F5 F5 F5 F5 F5 F5 F5 F5 F5 F5 F5 F5 F5 F5 F5 F5 F5 F5 F5 F5 F5 F5 F5 F5 F5 F5 F5 F5 F5 F5 F5 F5 F5 F5 F5 F5 F5 F5 F5 F5 F5 F5 F5 F5 F5 F5 F5 F5 F5 F5 F5 F5 F5 F5 F5 F5 F5 F5 F5 F5 F5 F5 F5 F5 F5 F5 F5 F5 F5 F5 F5 F5 F5 F5 F5 F5 F5 F5 F5 F5 F5 F5 F5 F5 F5 F5 F5 F5 F5 F5 F5 F5 F5 F5 F5 F5 F5 F5 F5 F5 F5 F5 F5 F5 F5 F5 F5 F5 F5 F5 F5 F5 F5 

     

     

    33-5

     

    GET, POST, COOKIE 값이 모두 존재하면 if문이 실행 될것이다.

     

    먼저 쿠키 imcookie를 만든다. 값은 아무거나 설정

     

    html 코드를 수정하여  get, post를 보낼 수 있는 코드를 작성한다.

     

    form 태그에서 ?imget=1 을 추가해 get방식으로 값을 보낸다.

    method="post"를 지정하여 post 값을 보내는 input태그를 작성한다.

     

     

    33-6

     

    view-source

     

    cookie 값을 설정한다.

     

    form을 작성

     

    33-7

     

    view-source

    $_SERVER['REMOTE_ADDR'] = str_replace(".","",$_SERVER['REMOTE_ADDR']);

    내 ip 값에서 .을 공백으로 치환한다.

     

     

    33-8

    view-source

    extract 함수는 키 값을 변수로 바꾸어준다.

     

    ex) $_GET['addr'] = 1 

    ==> addr = 1

     

    따라서 addr값을 127.0.0.1 로 get으로 넘겨준다.

     

    33-9

     

    view-source

     

     

    >>> i = 97
    >>> while i<=122:
    	print(chr(i), end="")
    	i = i+2
    
    	
    acegikmoqsuwy

     

    33-10

    view-source

     

    ip값에다가 복잡한 계산을 하는데 아래 사이트에서 직접 돌려보자.

    http://phptester.net/

     

     

    ip 값을 $_SERVER['REMOTE_ADDR']; 을 이용해 지정하면 사설ip가 할당 되는것 같다.

    그래서 직접 입력함.

     

    answerip/26787675375_5357535075.php 경로로 이동해보자.

     

    728x90

    'Security > web' 카테고리의 다른 글

    [webhacking.kr] old-23 blind SQL injection  (0) 2021.08.18
    [webhacking.kr] Challenge(old) 4  (0) 2021.07.31
    [webhacking.kr] Challenge(old) 2  (0) 2021.07.28

    댓글

Designed by Tistory.