링크를 타고 들어가자 일단 이런 화면이 출력된다.
페이지 소스를 봐도 별다를 건 없다. 문제 이름을 직역하자면 산 넘어 산인데, 우선 스태가노그래피 문제 이미지를 발굴해 내는 것이 첫 관문인 듯하다.
링크를 수정해 페이지의 첫 화면에 접속했다.
/prob을 추가하자 접근 권한이 없다는데, 정말 로그인한 사람한테만 문제가 공개되는 듯?
회원가입을 하자 멀쩡히 접속이 된다.
일단 이미지를 다운로드 받았다. 이름은 i_like_keroro_sticker
스태가노그래피라니까 가장 기본적인 필터 적용으로 플래그를 찾아보자.
특정 필터를 적용하자 사진 위쪽에 작은 블럭이 생겼다.
다른 필터도 마찬가지. 저기다 뭔가를 숨겨놨나 보다.
이후 tweakpng로 색상을 흑백으로 변경했다.
???
색상만 변경했는데...
플래그인지는 모르겠고 다소 공포스럽다.
딱히 뭔가의 플래그가 보이는 것 같지는 않다....
이 방법은 그만 쓰자.
101 editor로 분석해봤으나 별다른 이상점은 없어보인다.
IDHR/IDAT/IEND 전부 있다.
사진의 폭/넓이를 조작했나 싶어 crc를 검색해봤다.
crc 순환 중복 검사:
https://ko.wikipedia.org/wiki/%EC%88%9C%ED%99%98_%EC%A4%91%EB%B3%B5_%EA%B2%80%EC%82%AC
https://blog.naver.com/hoon0917sjs/220596905677
CRC 연산
CRC 계산에는 일반적으로 아래와 같은 코드가 사용된다.
문제파일의 crc는 이렇다.
CRC 코드에 맞춰 png 파일의 크기를 수정해주는 코드가 있다기에 긁어왔다.
1차시도 실패.
아무래도 파일 경로 때문인 것 같아 파이썬 파일 경로를 검색해보니 역시 절대 경로/상대 경로의 형식을 지켜야 된다고 한다. 나는 그냥 py 파일을 이미지 파일이 있는 폴더로 옮겨 해결했다.
2차시도.
파일에 정확히 똑같은 구간이 있다. (crc 직전)
그럼 너비와 높이에는 문제가 없다는 뜻 아닌가? (값이 똑같으니까....)