본문 바로가기
728x90
반응형

전체 글116

해커스쿨 FTZ level19 (HackerSchool) 풀이 힌트를 보자 뭔가 굉장히 심플하다. 지금까지와는 다른점을 찾아보자면 이전에는 uid를 바꿔주는 코드가 써있었고 우리는 shell을 띄워주는 쉘코드를 환경변수에 등록해서 그 주소를 덮어씌워서 문제를 해결했었다. 그런데 이번엔 uid를 바꿔주는 setreuid() 함수가 없다. 그러다는 건? shell을 띄워주는 것과 마찬가지로 setreuid()를 실행해주는 쉘코드를 만들어야 한다! blog.naver.com/sungwhan4854/221787627860 FTZ level11 (3) 쉘 코드 level11이번시간에는 쉘 코드에 대해 배워보겠다.​1. 쉘 코드 - 쉘 코드는 터미널에 입력한 명령을 해석하... blog.naver.com (대부분의 내용은 위의 블로그에서 익혔습니다. 보다 자세하게 설명되어 있.. 2021. 3. 29.
C언어, 컴파일, 동적 컴파일, 정적 컴파일, 동적 라이브러리, 정적 라이브러리 우리가 작성한 C 코드는 다음의 과정을 거쳐서 실행파일이 된다. 작성한 코드(.c)가 컴파일러에 의해 오브젝트 파일(.obj)이 되고 링커에 의해 라이브러리와 링크되어 실행파일(.exe)이 만들어진다.  우리가 프로그램을 만들 때 수 많은 함수를 사용하게 된다.printf, scanf 등 이렇게 많은 함수들을 일일이 정의 할 수 없으니 만들어 놓은게stdio.h 와 같은 라이브러리 이다. 이 라이브러리를 링크하는 모양에 따라 동적이냐 정적이냐가 나뉘게 된다. 그림으로 먼저 보자.우리가 별도의 설정 없이 프로그램을 만들면 동적 라이브러리(DLL : Dynamic Link Library) 방식으로 만들어진다.실행파일이 만들어지고 라이브러리가 연결되어서 필요 시 접근해서 가져다 쓰는 방식이다.즉 .exe 파일.. 2021. 3. 29.
해커스쿨 FTZ level18 (HackerSchool) 풀이 hint를 보자 처음 보는 것들이 나왔다. sd_set? FD_ZERO, FD_SET, select, FD_ISSET?? 검색해 보자. blog.naver.com/tipsware/220810795410 fd_set, FD_SET, FD_ZERO에 대하여 소켓 프로그램을 하다 보면 자신이 생성한 소켓에 데이터가 수신되었는지 또는 연결해서 데이터를 주고 받... blog.naver.com 여기 형님이 아주 제대로 정리해 주셨다👍 FD_ZERO(&fds) - fds 스트럭쳐(32bytes == 1024bits)를 0으로 초기화. - fds 스트럭쳐는 1024칸의 배열이라고 생각하면 편하다. FD_SET(STDIN_FILENO,&fds) - STDIN_FILENO 가 뭐지? - 다음 내용을 보며 좀 더 알아보자.. 2021. 2. 12.
해커스쿨 FTZ level17 (HackerSchool) 풀이 힌트를 보자 level16과는 다르게 shell() 함수가 없다. 대신 uid를 level18로 바꿔주고 call() 을 하는 부분이 있다. 그렇다면 call() 함수가 printit() 함수를 불러오는게 아닌 shell을 얻는 코드로 덮어씌우자. 1. 환경변수 등록하기(bash 쉘을 띄워주는 쉘코드) export TRAP=`python -c 'print "\x90" * 100 + "\x31\xc0\x50\x68\x2f\x2f\x73\x68\x68\x2f\x62\x69\x6e\x89\xe3\x50\x53\x89\xe1\x31\xd2\xb0\x0b\xcd\x80" ' ` 입력 후 export 입력하여 잘 등록되었는지 확인 마지막 부분에 위와 같이(?) 되어있다면 잘 입력된 것이다. 이게 맞나 싶은 분들이 .. 2020. 12. 28.
해커스쿨 FTZ level16 (HackerSchool) 풀이 바로 hint부터 보자 level17의 uid로 쉘을 열어주는 shell() 함수가 있고 printit() 함수가 정의되어 있다. 하지만 main()에는 printit() 함수만 call() 한다. fgets() 함수의 BOF 취약점을 이용해서 call() 하는 부분에 shell() 함수의 주소값을 덮어씌워보자. 1. call() 함수가 어디에서 실행할 함수를 불러오는지 주소값 알아내기 gdb를 해보자. set disassembly-flavor intel 코드가 뭔지 궁금한 사람 더보기 ------------------------------------------------------------------------------------------------ set disassembly-flavor int.. 2020. 12. 28.
728x90
반응형