전체 글
-
FTZ. 함수 프롤로그 / 함수 에필로그Pwnable/FTZ 2020. 2. 11. 05:37
함수 프롤로그 : 함수 내에서 사용할 스택 프레임을 설정한다. esp // 스택의 마지막 부분을 저장하면 push, pop 에 따라 4씩 값이 변한다. eip // 다음에 실행하여야 할 명령어가 존재하는 메모리 주소가 저장됨. ebp // 스택의 시작지점 주소가 저장된다. (스택의 처음 부분) push // 스택 값을 넣는다. esp의 값이 4만큼 줄어들고 이 위치에 새로운 값이 채워진다. push ebp // 돌아갈 곳의 주소를 스택에 저장하는 것이다.(이때 esp가 4만큼 움직인다.) mov // 소스에서 목적지로 데이터를 복사한다. pop // esp 레지스터가 가르키고 있는 위치의 스택 공간에서 4byte 만큼을 목적지 피연산자에 복사하고 esp 레지스터의 값에 4를 더한다. 함수 에필로그 : 함..
-
FTZ . level9 정리Pwnable/FTZ 2020. 2. 11. 05:26
login : level9 password : apple 가장 먼저 ls 명령어를 통해서 파일들을 확인해보자 [level9]$ ls hint tmp [level9]$ cat hint hint 를 확인해보면 (strncmp : 문자열을 비교하는 함수 / fgets : [저장할 변수, 데이터의 최대 크기, 입출력 방법]) // hint의 소스코드 #include #include #include main(){ char buf2[10]; char buf[10]; printf("It can be overflow : "); fgets(buf,40,stdin); if ( strncmp(buf2, "go", 2) == 0 ) { printf("Good Skill!\n"); setreuid( 3010, 3010 ); s..
-
Training 2020 실습P.study 2020. 1. 30. 15:19
VM 설정하고 (브릿지로 설정하고 공유 폴더에 바탕화면에 있는 WSF 추가) 윈도우가 나옵니다!!!!! 환경변수 : 내가 설정한 환경에서 언제든지 쓸 수 있는 거 LAP #1 setup파일 다 깔기 LAP #2 취약점공부 레지스터 : 특정값이나 주소를 저장(연산을 할때 필요한 임시 저장소) 가상 주소 체계 : 4기가의 주소 공간 (32.bit) 2기가씩 나눔 intenrl 은 책으로 공부하기 표준주소 Heap : 사용자가 관여하는 공간 (할당 비할당) TOC-TOU  취약점 때문..
-
[Winpcap] visual studio 환경 구축하기P.study 2020. 1. 29. 05:10
다들 끔찍한 pcap 에러땜에 고생하고 있지 않아요...? wpcap에서 업데이트를 멈춰서 winpcap함수 쓰고 싶은데 어떻게 써야할 지 감이 안오시죠!?!! (나만 안왔나...) 저도 별짓을 다 했답니다..(wpcap도 깔고..winpcap10도 깔고.. npcap.....libpcap도...) 자자 환경 구축 리뷰 시작할께요~~!! (윈도우/C언어/ visual studio 2019에서 pcap 함수 환경 구축) 다 필요없구 winpcap 에서 Developer's pack 을 다운받으세요!!! 여기서 include 파일이랑 lib 파일이 필요해요!!! 다운 다 받으셨으면 바탕화면에 복사해놓으세요! (경로를 편하게 하기 위해서입니다!!) 프로젝트 > 속성 페이지 > 포함디렉터리에서 화살표 누르면 편..
-
[소켓] visual studio 환경 구축하기P.study 2020. 1. 29. 04:10
아무리 소스코드를 잘 짠다지만 환경이 구축 안되면 절때로 컴파일을 할 수 없다!!!!!! (난 소스코드도 못짜니까 환경이라도 잘 구축해야한다...) 내가 성공한 환경을 리뷰하도록 하겠다..!! 이것은 소켓 함수를 사용하기 위한 환경 구축이다. (나는 에코 프로그램을 위해 소켓 함수를 사용했다.) 2가지만 설정해주면 끄읏~! ------- Visual Studio 2019 버전 ------- 1, SDL 검사를 아니요로 설정하기 프로젝트 > 속성 페이지(맨밑에 위치) > C/C++ 에서 SDL 검사를 아니요로 바꾼다! (원래는 "예"로 나옴) 2, 명령줄에 ws2_32.lib 추가하기 프로젝트 > 속성 페이지 > 링커 > 명령줄 > 추가옵션에 ws2_32.lib 추가하기 (원래는 아무것도 없음) 이렇게 하..