문제
- 깨진 이미지를 복구하여 FLAG 값을 찾아내는 문제이다.
핵심 - PNG 구조에 대한 문제
이미지파일 관련 문제는 헥스값을 살펴보면 알 수 있으며, 모든 PNG 파일에는 IHDR, IDAT, IEND 청크가 들어있다.
IHDR 청크 : "Image Header"의 약자로 PNG 파일의 기본정보를 담고있는 부분
- 가로, 세로, 비트 깊이, 색 타입, 압축 메소드, 필터링 메소드에 대한 정보
IDAT 청크 : "Image Data"의 약자로 실질적 이미지 데이터가 들어가는 부분
IEND 청크 : 이미지의 맨 뒤에 위치하는 청크로, 이미지 파일의 끝을 표시하는 청크, 데이터가 없기때문에 길이는 0
따라서 IHDR 청크 뒤에 가로, 세로의 값을 수정하여 보이지않은 이미지의 나머지 부분의 FLAG를 확인 할 수 있다.
Reference
- png 구조
https://ryanking13.github.io/2018/03/24/png-structure.html
https://eece-labs.tistory.com/7
- Tools
https://www.sweetscape.com/010editor/
'CHALLENGE > Dreamhack' 카테고리의 다른 글
[web] command-injection-1 (0) | 2023.12.19 |
---|---|
[web] phpreg (0) | 2023.12.14 |
[web] file-download-1 (0) | 2021.10.09 |
[web] cookie (0) | 2021.10.09 |