본문 바로가기

[LOB] cobolt :: 환경변수를 이용한 BOF user : cobolt문제 : goblin goblin.c의 소스코드는 다음과 같습니다. 123456789101112/* The Lord of the BOF : The Fellowship of the BOF - goblin - small buffer + stdin*/ int main(){ char buffer[16]; gets(buffer); // vulnerability!!! printf("%s\n", buffer); }Colored by Color Scriptercs 이전 문제와 거의 흡사합니다. 차이점은 strcpy() 함수 대신에 gets() 함수를 사용하고 있고 gets() 함수에서 입력 크기를 제한하고 있지 않기 때문에 buffer를 Overflow 시킬 수 있습니다. Step 1. 이전과 .. 더보기
[LOB] gremlin :: 환경변수를 이용한 BOF user : gremline문제 : cobolt cobolt.c의 소스파일은 다음과 같습니다. 12345678910111213141516/* The Lord of the BOF : The Fellowship of the BOF - cobolt - small buffer*/ int main(int argc, char *argv[]){ char buffer[16]; if(argc 더보기
[LOB] gate :: Basic Buffer Overflow ※ LOB는 다음과 같은 이유로 기존의 bash에서 bash2로 변경하여 사용해야 합니다. ☞ Bash or Bash2?Redhat Linux 6.2는 기본적으로 Bash의 버전이 1.14버전입니다.이 버전에서는 0xff를 인식하지 못하는 버그를 가지고 있기 때문에, 문자열의 끝을 알리는 0xff가 0x00과 같은 역할을 하게 됩니다.따라서 중간에 0xff가 들어가게 되면 문자열이 복사되는 strcpy를 하면서 문자열이 중간에 잘리게 되겠죠...하지만, bash2는 이 버그를 픽스한 2.3버전이기 때문에 bash2를 사용해야 Payload에 0xff를 넣을 수 있습니다. [참고] http://iostreamcpp.tistory.com/entry/Level-01-Gate#recentComments 우리는 .. 더보기