본문 바로가기

[2014 Christmas CTF] Weights and Measures write up도 다들 올리시고들 하니, 이번에 냈던 2014년 크리스마스 ctf 알고리즘 문제 Weights and Measures 바이너리파일, C코드, 플래그 파일 올립니다. ..... 카이스트 곤 분들이 제 문제를 첫번째, 두번째 순서로 올려놔주셨네요. 감사합니다 ㅠ http://gon.kaist.ac.kr/?cat=1 여기 링크로 가시면 카이스트 곤 크리스마스 ctf 문제풀이를 보실 수 있습니다. 제가 임의로 짠 exploit 코드는 공개하지 않겠습니다. 제가 예상하지도 못한 방법으로 풀었던 우수한 write up들이 많기 때문이지요. 문제를 만들면서 많이 배웠습니다. 앞으로 더 재밌는 문제 준비할게요. 감사합니다. 사용법은 간단합니다../turtle 4940 같이 바이너리 옆에 사용할 포트를 .. 더보기
Alpha-Numeric Shellcode (Ascii Shellcode) 알파뉴메릭 쉘코드 제작방법에 대해 포스팅합니다. 말 그대로 숫자, 영어만으로 쉘코드를 제작할 수 있습니다. 오래된 기법이긴 하지만 이리저리 국내, 해외사이트를 뒤져봐도 정작 제작하는 방법은 안 나와있고 여러가지 툴을 이용한, Alpha3으로 제작하기, 메타스플로잇 alpha_mixed 옵션을 이용해서 만들기 밖에 없네요. 아스키쉘코드를 적용시키려면 우선 환경이 중요합니다. esp컨트롤로 스택포인트를 eip에 위치시켜서 xor한 값을 실행시킬 수 있습니다. 우선, 제일(?) 유명할 거라 생각되는 리눅스 쉘코드를 던져봅니다. http://shell-storm.org/shellcode/files/shellcode-827.php #include #include char *shellcode = "\x31\xc0\.. 더보기
[2015 Nullcon] exploitable 300 이 문제 이 외에도 여러 문제가 있지만 이 대회는 왠지모르게 씽크빅 대결인 듯 하여 그나마(?) 기술적인 exploitable 문제 하나 포스팅합니다. 바이너리를 실행해보면 Command% 가 나옵니다. 사용법은 set [name] [data] get [name] set a 1234get a를 하면 a 에 1234가 저장되서 get a 로 1234가 출력됩니다. 이것만으로는 아무것도 모르므로 gdb로 분석합니다. main 함수를 보면 input_loop 함수로 넘어가고 여기로 넘어가면 "Command%" 출력 후 fgets로 문자열을 받고 process_command 함수로 넘어갑니다. 여기는 strstr 함수로 비교를 해서 help입력 시, help 함수로, exit 입력시 exit.strcmp로 se.. 더보기