mongoboard 풀이 방법
- bruteforce 를 통해서 풀기
- no 은 다음과 같은데, 규칙이 보여서 burpsuite의 Intruder 기능을 이용해서 무작위 대입을 시도
664aa8cfbbd329900f823784
664aa8d3bbd329900f823785
null
664aa8d9bbd329900f823787
=> 664aa8{_ _}
=> 끝자리 +1 - 비밀글에 대한 접근통제가 존재하지 않아 /api/board/:board_id 조회를 통해서 비밀글 조회가 가능함
- MongoDB ObjectId 생성 규칙을 이용해서 풀기
- 앞의 4byte는 유닉스 타임스탬프를 의미함.
664aa8d3 bbd329900f823785
664aa8d3 == 2024-05-20 01:35:15 - FLAG가 있는 게시글의 생성 시간을 유닉스 타임스탬프로 변경한 값을 구해서 해결
import datetime
def datetime_to_timestamp(dt):
epoch = datetime.datetime.utcfromtimestamp(0)
delta = dt - epoch
return delta.total_seconds()
# 사용자로부터 시간을 입력 받음
year = int(input("연도를 입력하세요: "))
month = int(input("월을 입력하세요: "))
day = int(input("일을 입력하세요: "))
hour = int(input("시간을 입력하세요: "))
minute = int(input("분을 입력하세요: "))
second = int(input("초를 입력하세요: "))
# 입력 받은 시간으로 datetime 객체 생성
input_datetime = datetime.datetime(year, month, day, hour, minute, second)
# 유닉스 타임스탬프로 변환
unix_timestamp = datetime_to_timestamp(input_datetime)
print("입력한 시간의 유닉스 타임스탬프:", int(unix_timestamp))
664aa8d6 == 2024-05-20 01:35:18
'Training > Dreamhack' 카테고리의 다른 글
[WEB] Paginator v2 문제 풀이 (0) | 2025.02.25 |
---|---|
[WEB] baby-sqlite 문제 풀이 (0) | 2024.11.19 |
[WEB] Addition calculator 문제 풀이 (0) | 2024.05.27 |
[WEB] baby-union 문제 풀이 (0) | 2024.05.23 |
[WEB] easy-login 문제 풀이 (0) | 2024.05.21 |