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초 안에 잘 전달된 것 같다.
'[Wargame Write-up] > HackThis!!' 카테고리의 다른 글
[HackThis!!] [REAL] LEVEL 1 (0) | 2016.12.19 |
---|---|
[HackThis!!] [CODING] LEVEL 2 (0) | 2016.12.19 |
[HackThis!!] [INTERMEDIATE] LEVEL 1 (0) | 2016.12.18 |
[HackThis!!] [JAVASCRIPT] LEVEL 5 (0) | 2016.12.18 |
[HackThis!!] [JAVASCRIPT] LEVEL 4 (0) | 2016.12.18 |