전체 208

sCTF16 - Vertinet (png픽셀 추출 & 연산, 소켓연결)

문제는 problem1.2016q1.sctf.io:50000에 연결을 하여 문제를 푸는 것이다.이 문제는 앞서 나왔던 verticode를 풀어야만이 풀 수 있는 문제이다. 웹으로 연결을 하였을 경우의 화면이다. 앞서 나왔던 verticode와 같은 그림파일 하나가 주어지고 INCORRECT라는 문구가 나온다.문제를 풀기 위해서는 웹브라우저로 들어가서는 안되고 소켓으로 연결을 해야 된다.소켓으로 연결을 하면 먼저 그림파일을 주고 그에 해당하는 응답을 다시 보내면 답이 온다.그림에 해당하는 문자열이 맞을 경우 다음 그림파일을 주는데 200개의 그림을 전송하고 그에 응답이 맞으면 답이 온다. 문제를 풀기 위해 작성한 소스기존 verticode에서 사용한 rgb,zo테이블과 decode함수는 동일하다.단,. 소..

CTF | wargame 2016.04.14

sCTF16 - Verticode (png픽셀 추출 & 연산)

문제가 길다. 하지만 읽어보면 그다지 어렵지 않다.파일은 3개가 주어지는데 1,2번은 예시 파일이고 3번째 파일이 문제의 파일이다.1번 예시를 보면 이 사진이 주어지는데 검은색 부분은 1이고 흰색 부분은 0이다. 이를 토대로 보면1000001이 된다. 이 값은 아스키값으로 'A'가 된다.이런식으로 사진에서 검은색과 흰색을 판별하여 문자열을 추출하면 된다. 2번 예시를 보면 약간의 조건이 붙었다.1000001이지만 앞서 나온 색이 특정 색일 경우에 값을 더해주어야 한다. 조건은 이와 같다. 여기서는 1000001 이므로 일단 'A'를 알 수 있고 여기에 보라색이므로 +1을 해주어 결과적으로 'B'가 된다. 문제의 코드를 보면 이게 엄청 길다.고로 사람이 직접 할 수는 없다는 것이다. 이번 문제를 풀기 위해..

CTF | wargame 2016.04.14

sCTF16 - Lengthy Lingo (문자열 길이 -> 아스키)

encrypted.dat 파일이 하나 주어진다. 힌트는 숫자는 일정한 패턴을 보이지 않는다.....라고 씌여있다. 문제파일을 메모장으로 읽어온 것이다. 보면 숫자가 나열되어 있고 ","(콤마)로 나뉘어 있다.콤마대로 나누어 줄을 정렬해 보면 이처럼 나온다. 보면 각 줄 숫자의 길이도 일정하지 않다.이 문제의 답은 각 줄 숫자들의 총 길이이다.즉, 1번째 숫자들의 총길이가 65라고 한다면 문자 'A'가 되는 것이다. 최종적으로 보면 위와 같다.\r\n으로 다시 묶은 이유는 제일 마지막에 \r\n이 붙어 그냥 지워주기 위함이다. sctf{101_th3_numb3r5_d1dn'7_3v3n_m4tt3r}

CTF | wargame 2016.04.14

sCTF16 - Failed Compress (파일추출, JPEG, PNG)

파일 하나가 주어진다.압축을 하려 했는데 실패했다고 하는 것 같다. flag가 어딘가에 있다는 것을 알고 있다고 하는데 이게 처음에 무슨 소리인지 알지 못했는데 풀면서 알게되었다.(화남) compress.zip파일은 확장자는 zip파일이긴 하지만 헤더를 보면 JFIF, 즉 JPEG파일이다.하지만 제일 앞 시그니쳐 부분이 바뀌어 있다 이 부분은 FF D9 FF E0 00 ... 이런식인데 이걸 바꾸어 준다.jpeg는 파일의 끝부분을 나타내는 footer부분이 있다.jpeg의 footer는 FF D9 이므로 이 값까지 찾아서 다시 만들어 보면 ....? 처음에 저게 답인줄 알고 인증했다.그런데 compress.zip을 계속 보면 또 있다. 심지어 파일의 시그니쳐 부분이 앞에서 한 것과는 다르다. 그래도 다행..

CTF | wargame 2016.04.14

sCTF16 - When in Rome (시저암호)

문제가 주어지는 친절하게도 Julius Caesar 라고 알려준다. 시저암호문제이다. 이 대회는 참 힌트가 많아서 좋다. 바로 http://rumkin.com/tools/cipher/로 링크해 주는데 다양한 암호문을 풀어주는 온라인 암호 사이트이다. 그래도 기존에 시저암호 관련문제를 많이 풀어본지라 매번 하는 것이 귀찮아서 프로그램을 하나 만들고 있었는데 이번문제에서는 그 프로그램을 사용하였다. wxpython으로 직접 하나하나 박으면서 만든거라 조잡하다. 암호문은 Nvctfdv kf jTKW! Nv yfgv pfl veafp kyv gifscvdj nv yrmv nizkkve wfi kyv wzijk hlrikvi fw 2016. Yviv zj pfli wzijk fw (yfgvwlccp) drep w..

CTF | wargame 2016.04.14