Iriton's log

[Dreamhack/Wargame] Lv.1 mongoboard 본문

WebHacking/WarGame

[Dreamhack/Wargame] Lv.1 mongoboard

Iriton 2023. 4. 13. 17:18

 

 

 

문제 페이지 분석


admin이 작성한 FLAG 파일을 읽어내야 한다.

 

 

Write 할 때 Secret check를 하면 FLAG 글처럼 접근할 수 없나 보다.

 

크롬 개발자모드-Network에서 한 게시물의 데이터가 어떻게 주고받는지 살펴보자.

 

/api/board/{no}에서 GET Method를 통해 응답을 받는 구조인 거 같다.

FLAG의 no는 알려지지 않았으니 우선 /api/board로 가봐야겠다.

 

"_id": null 이라고 한다.

이때부터는 MongoDB의 ObjectID 개념을 알아야 한다.

 

참고 사이트

https://www.mongodb.com/docs/manual/reference/method/ObjectId/#methods

 

ObjectId() — MongoDB Manual

Docs Home → MongoDB Manual ObjectId( )Returns a new ObjectId. The 12-byte ObjectId consists of:A 4-byte timestamp, representing the ObjectId's creation, measured in seconds since the Unix epoch.A 5-byte random value generated once per process. This rando

www.mongodb.com

 

 

Counter는 1씩 증가하고, RandomValue는 지정된 값이기에 다른 id에서 참고하면 된다.

즉, 첫 번째 4byte (TimeStamp)만 게시 시간을 통해 유추하면 된다.

 

FLAG 게시물은 이전 게시물과 4초 차이기 때문에 4를 더하면 된다.

또는 마지막 게시물에서 1을 빼도 되겠다.

이전 게시물의 TimeStamp가 6437a872이다.

FLAG 게시물의 no: 6437a87149176e64872e2551

 

기껏 다 풀었더니 페이지 만료됐다. 하....

 

다시...

 

/api/board/{no} 로 접속하면 볼 수 있는 화면+Flag값

 

Comments