문제 설명

1. MongDB의 ObjectID 구조
참고 사이트 : https://docs.mongodb.com/manual/reference/method/ObjectId/
ObjectId() - MongoDB Manual v7.0
Docs Home → Develop Applications → MongoDB Manual ObjectId( )mongosh MethodThis page documents a mongosh method. This is not the documentation for a language-specific driver, such as Node.js.For MongoDB API drivers, refer to the language-specific Mongo
www.mongodb.com
문제 풀이

문제 페이지에 들어가니 총 4개의 게시물과 그에 대한 설명이 있다. 각 게시글들은 'no' 라는 명칭의 게시글 number를 가지고 있고, 게시글이 업데이트된 timestamp 값을 출력해주고 있다.

첫번째 게시물을 클릭하면 아래와 같이 작성된 게시글의 내용을 확인할 수 있다.

Title이 Flag인 게시글을 클릭할 경우 아래와 같이 비밀글이라는 경고가 뜨며 열람이 거부된다.
문제에 참고 자료로 첨부된 MongDB의 ObjectID 구조를 설명하는 자료와 추가적인 구글링을 통해 페이지 내 게시글의 'no' 값은 아래와 같이 정리될 수 있었다.

( 출처 : https://kim-jong-hyun.tistory.com/95 )
662772a 783462a9cff9fd34c Mongo guest 2024-04-23T08:34:47.467Z
TimeStamp
662772a 783462a9cff 9fd34c Mongo guest 2024-04-23T08:34:47.467Z
Random Value
662772a783462a9cff 9fd34c Mongo guest 2024-04-23T08:34:47.467Z
Counter
위의 구조를 가지고 문제 페이지내 게시글의 정보를 정리해보았다.
게시글 Title | 게시글 No | 게시글 TimeStamp |
Hello | 662772a383462a9cff9fd34b | 2024-04-23T08:34:43.459Z |
Mongo | 662772a783462a9cff9fd34c | 2024-04-23T08:34:47.467Z |
FLAG | ?? | 2024-04-23T08:34:48.468Z |
Good | 662772ac83462a9cff9fd34e | 2024-04-23T08:34:52.470Z |
운이 좋았던 건지, 시간이 맞았던 건지 다행히도 Random 한 값이 다른 게시글들과 딱 들어 맞았다. 문제의 서버를 재실행 하니 랜덤한 값은 다른 값을 가지고 있는 것을 보아 아마도, 운이 좋았던것이 아닐까.
FLAG 게시글위 위 아래 게시글인 Mongo와 Good 게시글의 Counter 값은 9fd34c, 9fd34?, 9fd34e 와 같이 뒷자리만 달랐다. 따라서 Flag 게시글의 objectID Conter값은 9fd34d로 유추해볼 수 있다.
다른 게시글과 다른 점은, 가운데 있는 값이 다르다는 것이다. 랜덤한 값임에도 불구, 운이 좋게도 아래와 같은 결과로 정리될 수 있었다.
Hello 662772a 38 3462a9cff9fd34b 2024-04-23T08:34:43.459Z
Mongo 662772a 78 3462a9cff9fd34c 2024-04-23T08:34:47.467Z
FLAG 662772a ?? 3462a9cff9fd34c 2024-04-23T08:23:42.093Z
Good 662772a c8 3462a9cff9fd34e 2024-04-23T08:34:52.470Z
글을 쓰다보니 너무 무식하게 푼것 같기도 하다.
예상되는 FLAG 게시글의 ObjectID를 Mongo보다 높은 값인 79이후의 값으로 brute-forcing 해보았다.
거의 대부분의 값이 Page not exist 결과가 출력되었지만, 하나의 값에서 아래와 같은 결과가 출력되었다.
662772a883462a9cff9fd34d

'Security > Wargame & CTF' 카테고리의 다른 글
[CodeEngn] Malware L08 (0) | 2024.05.07 |
---|---|
[CodeEngn | DreamHack] Malware L07(악성코드 Flow 분석) 풀이 (0) | 2024.05.07 |
[DreamHack] Blue Whale 풀이 (0) | 2024.05.04 |
[DreamHack] rev-basic-0 풀이 (0) | 2024.04.24 |
문제 설명

1. MongDB의 ObjectID 구조
참고 사이트 : https://docs.mongodb.com/manual/reference/method/ObjectId/
ObjectId() - MongoDB Manual v7.0
Docs Home → Develop Applications → MongoDB Manual ObjectId( )mongosh MethodThis page documents a mongosh method. This is not the documentation for a language-specific driver, such as Node.js.For MongoDB API drivers, refer to the language-specific Mongo
www.mongodb.com
문제 풀이

문제 페이지에 들어가니 총 4개의 게시물과 그에 대한 설명이 있다. 각 게시글들은 'no' 라는 명칭의 게시글 number를 가지고 있고, 게시글이 업데이트된 timestamp 값을 출력해주고 있다.

첫번째 게시물을 클릭하면 아래와 같이 작성된 게시글의 내용을 확인할 수 있다.

Title이 Flag인 게시글을 클릭할 경우 아래와 같이 비밀글이라는 경고가 뜨며 열람이 거부된다.
문제에 참고 자료로 첨부된 MongDB의 ObjectID 구조를 설명하는 자료와 추가적인 구글링을 통해 페이지 내 게시글의 'no' 값은 아래와 같이 정리될 수 있었다.

( 출처 : https://kim-jong-hyun.tistory.com/95 )
662772a 783462a9cff9fd34c Mongo guest 2024-04-23T08:34:47.467Z
TimeStamp
662772a 783462a9cff 9fd34c Mongo guest 2024-04-23T08:34:47.467Z
Random Value
662772a783462a9cff 9fd34c Mongo guest 2024-04-23T08:34:47.467Z
Counter
위의 구조를 가지고 문제 페이지내 게시글의 정보를 정리해보았다.
게시글 Title | 게시글 No | 게시글 TimeStamp |
Hello | 662772a383462a9cff9fd34b | 2024-04-23T08:34:43.459Z |
Mongo | 662772a783462a9cff9fd34c | 2024-04-23T08:34:47.467Z |
FLAG | ?? | 2024-04-23T08:34:48.468Z |
Good | 662772ac83462a9cff9fd34e | 2024-04-23T08:34:52.470Z |
운이 좋았던 건지, 시간이 맞았던 건지 다행히도 Random 한 값이 다른 게시글들과 딱 들어 맞았다. 문제의 서버를 재실행 하니 랜덤한 값은 다른 값을 가지고 있는 것을 보아 아마도, 운이 좋았던것이 아닐까.
FLAG 게시글위 위 아래 게시글인 Mongo와 Good 게시글의 Counter 값은 9fd34c, 9fd34?, 9fd34e 와 같이 뒷자리만 달랐다. 따라서 Flag 게시글의 objectID Conter값은 9fd34d로 유추해볼 수 있다.
다른 게시글과 다른 점은, 가운데 있는 값이 다르다는 것이다. 랜덤한 값임에도 불구, 운이 좋게도 아래와 같은 결과로 정리될 수 있었다.
Hello 662772a 38 3462a9cff9fd34b 2024-04-23T08:34:43.459Z
Mongo 662772a 78 3462a9cff9fd34c 2024-04-23T08:34:47.467Z
FLAG 662772a ?? 3462a9cff9fd34c 2024-04-23T08:23:42.093Z
Good 662772a c8 3462a9cff9fd34e 2024-04-23T08:34:52.470Z
글을 쓰다보니 너무 무식하게 푼것 같기도 하다.
예상되는 FLAG 게시글의 ObjectID를 Mongo보다 높은 값인 79이후의 값으로 brute-forcing 해보았다.
거의 대부분의 값이 Page not exist 결과가 출력되었지만, 하나의 값에서 아래와 같은 결과가 출력되었다.
662772a883462a9cff9fd34d

'Security > Wargame & CTF' 카테고리의 다른 글
[CodeEngn] Malware L08 (0) | 2024.05.07 |
---|---|
[CodeEngn | DreamHack] Malware L07(악성코드 Flow 분석) 풀이 (0) | 2024.05.07 |
[DreamHack] Blue Whale 풀이 (0) | 2024.05.04 |
[DreamHack] rev-basic-0 풀이 (0) | 2024.04.24 |