[Wargame Write-up]/HackThis!!
[HackThis!!] [CODING] LEVEL 1
Kevin S.
2016. 12. 19. 09:35
Coding 첫 번째 문제이다.
5초 안에 아래에 나오는 단어들을 정렬해서 제출해야 한다.
정보 수집을 시작해보자.
단어들은 textarea 태그에 있다.
로그인 Form인데, username, password라는 parameter명을 사용하고, ?login으로 전송하는 것을 알 수 있다.
위를 토대로 코딩한 후,
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30 |
import requests
url = "https://www.hackthis.co.uk/levels/coding/1"
login_page = "https://www.hackthis.co.uk/?login"
data = {"username": "아이디", "password": "비밀번호"}
session = requests.Session()
session.post(login_page, data=data)
response = session.get(url).text
elements = response[response.find("<textarea>")+len("<textarea>"):response.find("</textarea")]
print elements + "\n"
answer = {"answer": ", ".join(sorted(elements.split(", ")))}
print answer
session.post(url, data=answer)
response = session.get(url).text
if ("Incomplete" in response or "Incorrect" in response):
print "[*] Failed"
else:
print "[*] Success"
|
cs |
결과를 보자. (SSL 통신 때문에 뜨는 라이브러리 사용 경고는 무시한다.)
정상적으로 불러와서 정렬하는 것을 볼 수 있다.
Success가 뜬 것을 보면, 5초 안에 잘 전달된 것 같다.