전체 글

전체 글

    [pwnable.xyz] two targets (Write-Up)

    보호되어 있는 글입니다.

    [HackCTF] poet (Write-Up)

    보호되어 있는 글입니다.

    [pwnable.kr] passcode (Write-Up)

    보호되어 있는 글입니다.

    [Root me] Stack buffer overflow basic 1 (Write-Up)

    ch13.c가 뭔지 한번 봐보자 check사 deadbeef가 되도록 하면 되는거 같다. 그러면 스택에 buf cheack var 이 순서로 되있을것이므로 buf를 40만큼 채워주고 deadbeef를 넣으면 될것이다 성공!

    팀 프로젝트 보고서

    프로젝트 제목 멀티 테트리스 깃허브 링크 https://github.com/kim-yeon-gyu-exlock/multi-tetris kim-yeon-gyu-exlock/multi-tetris Contribute to kim-yeon-gyu-exlock/multi-tetris development by creating an account on GitHub. github.com 프로젝트 주제 멀티 테트리스 프로젝트를 같이 한 사람 김연규 진예서 전민기 정우진 프로젝트 제작기간 7월13일~7월15일 자신이 맡은 역할 처음에는 소켓프로그래밍으로 받은 메시지 바탕으로 쓰레드를 이용하여 상대편 출력이었으나 구글링을 계속 하여도 이해가 되지않아서 인트로를 제작하게되었습니다. 프로젝트 일정 6/20: 전체적인 역할 ..

    [FTZ] level20 (Write-Up)

    [FTZ] level20 (Write-Up)

    hint를 열어보자 bleh는 80만큼 입력을 받고 fgets로79만큼 입력을 받아서 BOF가 안일어난다. 다른것을 찾아보자... printf(bleh); 여기서 문제가 발생한다. 원래대로 printf("%s",bleh);라면 정상적으로 출력이 되겠지만 이렇게 할경우 bleh의 버퍼에 서식문자열을 입력하여 메모리 주소를 알아낼 수 있다. BOF를 RET를 통하여 문제를 해결했지만 FSB는 .dtors를 이용한다. .dtors는 프로그램을 종료할때 사용하는 소멸자이다. 0일경우에는 정상적으로 종료되지만 0이 아닌 다른값을 입력할경우 종료후 그 값을 실행한다. 이러한것을 이용하는것을 포스트링버그(FSB)라고 한다. AAAA를 입력할경우 4번째에서 우리가 원하는것이 나오므로 사이에 12Byte의 dummy가 ..

    [FTZ] level19 (Write-Up)

    캡쳐랑 복붙이 안돼서 글로만 쓰게되서 죄송합니다. hint를 열어본다면 main() { char buf[20]; gets(buf); printf("%s\n",buf); } 이번에도 쉘코드를 사용해야 할 것 같습니다. 하지만 setreuid함수가 없으므로 조금 다른 쉘코드를 사용하겠습니다. export EGG=`python -c 'print"\x90"*15+"\x31\xc0\x50\x68\x2f\x2f\x73\x68\x68\x2f\x62\x69\x6e\x89\xe3\x50\x53\x89\xe1\x89\xc2\xb0\x0b\xcd\x80"'` gdb를 통해서 buf의 위치를 확인합니다. ebp-40이라는 것을 알 수 있습니다. 그러므로 sfp의 크기를 포함하도록 하여 44바이트를 채워버리고 리턴주소를 아까 ..

    [FTZ] level18 (Write-Up)

    [FTZ] level18 (Write-Up)

    hint를 열어보자. 음.... 천천히 봐보자 string[100]을 선언하고 int형으로 check, x = 0, count = 0 이렇게 선언해 주었다. 그리고 낯선 함수들이 눈에 보인다. FD_ZERO :*fdset의 모든 비트를 지운다 FD_SET : *fdset 중 첫번쨰 인자 fd에 해당하는 비트를 1로한다. FD_CLR : *fdset 중 첫번째 인자 fd에 해당하는 비트를 0으로 한다. FD_ISSET : *fdest 중 첫번째 인자 fd에 해당하는 비트가 세트되어 있으면 양수값인 fd를 리턴한다. slelect : FD_SET으로 설정된 fd만을 확인한다. 그리고 read또는 write준비가 된 fd를 fdset내에서 세트 시킨다. count가 100이 넘으면출력이되고 count가 0xd..