본문 바로가기

CTF12

[INCOGNITO CTF] Deconstructionism 파일을 열면 아래와 같이 5가지 숫자가 정렬되어있다. (0,0,195,195,195) (0,1,195,195,195) (0,2,195,195,195) (0,3,195,195,195) (0,4,195,195,195) (0,5,195,195,195) (0,6,195,195,195) (0,7,195,195,195) (0,8,195,195,195) (0,9,195,195,195) (0,10,195,195,195) (0,11,195,195,195) 해당 파일의 숫자는 (x좌표, y좌표, Red, Green, Blue)으로 텍스트 파일을 다시 이미지 파일로 만들어야합니다. 코드는 아래와 같습니다. blank.png는 구글에서 blank.png 중에 가로 길이가 500이상인 것을 다운로드 받아서 사용했습니다. imp.. 2021. 8. 28.
[INCOGNITO CTF] hex carving 문제파일을 실행하면 위 그림처럼 고양이 사진이 출력된다. HxD로 열어서 zip 파일의 시그니처인 504b0304를 검색하면 파일안에서 찾을 수 있다. 따라서 해당 파일안에는 zip 파일이 숨어있다는 것을 알 수 있다. zip 파일 구조는 아래와 같다. 위 그림을 참조하여 파일의 시작과 끝을 찾으면 시작은 1aac 끝은 231c입니다. 그대로 복사해서 zip 파일로 만들어 압축을 해제하면 아래 gif 파일이 있습니다. 해당 파일을 위와 같이 ezgif 사이트에서 프레임 단위로 자를 수 있습니다. 숫자들을 아스키코드로 변환하면 아래 플래그를 얻을 수 있습니다. INCO{3Z_C4rving} 2021. 8. 27.
[INCOGNITO CTF] Do you know Hashes 문제 서버에 접속하면 위와 같이 key 값을 채워넣어서 조건문을 모두 우회해야한다. 조건은 md5, crc32, md4 알고리즘으로 해시값을 만들어서 비교한 결과가 같아야합니다. md5는 결과가 32바이트이고 crc32는 결과가 8바이트이기 때문에 길이부터 다르므로 문자열 비교로는 같을 수가 없습니다. 따라서 정수를 비교하는 방식으로 가야합니다. 예를 들어 php에서 0='0'은 true 입니다. 문자열과 정수형을 비교를 하면 문자열에 숫자만 있는 경우 문자열을 정수로 변환한 후 비교를 하기 때문에 0='0'이 true가 됩니다. https://www.whitehatsec.com/blog/magic-hashes/ 여기서 사용할 수 있는 개념이 Magic Hash 입니다. Magic Hash란 해시 값이 .. 2021. 8. 27.