본문 바로가기

2016 CodeGate Final BMP 27명 푼 미스크 문제입니다.웹사이트와 소스가 주어지는데 웹 사이트를 들어가 보면 이렇게 생겼습니다. 글자를 치면 이렇게 bmp파일이 점점 생겨나면서 올라옵니다. 옆에 flag.bmp가 만들어 지는 값을 찾으면 됩니다. 처음에는 편법으로 0~9, A~Z, a~z까지 싹다 어떤 형태의 그림이 만들어지는지 찾은 후에 테이블로 만들어서 비교하려고 했으나 이전 값이 현재의 bmp에 영향을 준다는 것을 깨닫고 포기했습니다. 결국 주어진 js파일을 분석해서 브루트포싱을 하는 파이썬 소스를 짜서 풀었습니다. 처음에는 소스가 한줄로 나열되고 난독화가 약간 되어 있어서 보기 편하게 만들어 준 후에 분석했습니다. 12345/**IE, Safari Not good.Chrome good Work.**/function crea.. 더보기
2015 Christmas CTF vsnoted 작년 크리스마스 때 열렸던 크리스마스 CTF vsnoted를 풀어보았다. 그 때 당시에는 풀어볼 엄두도 못냈었는데 이제는 조금 해 볼만 했다. 그리고 포맷스트링은 진짜 할 때 마다 너무 헷갈리는 것 같다. 풀 때는 내 환경의 스택 상황에 맞춰서 익스플로잇을 했는데 과연 이게 실제 대회 때에도 내 환경의 스택과 똑같이 같은 값이 들어있을 지가 의문이다. fsb문제가 나왔을 때 스택을 덤프해 주는 모듈 같은거를 하나 만들어 두어야 할 것 같다. 123456789101112131415161718192021222324252627282930313233343536373839404142from SunKn0wn import * r = remote('5unKn0wn.iptime.org', 8282) system_plt .. 더보기
fusion level04 얘도 엄청 어려웠다ㅋㅋㅋㅋ 두 군데에서 삽질을 했는데 첫 번째는 이 프로그램이 데몬으로 돌아가서 실행할 때마다 패스워드와 카나리, 베이스 주소 등등이 바뀌는 줄 알고 어떻게 할까 고민고민 하다가 성우형이 소켓이라는 사실과 패스워드를 구해내는 힌트를 주셔서 겨우 이 고비를 넘겼었다. 그리고 익스플로잇을 다 짠 후에 이번에는 당연히 소켓이니까 소켓용 /bin/sh를 보내다가 dup2 함수를 통해 파일디스크립터가 표준으로 바뀌어 있음을 깨닫고 일반 /bin/sh로 보내니까 쉘이 잘 따였다. 이 두 개 때문에 거의 이틀을 버렸다..ㅠㅠ1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545.. 더보기