본문 바로가기

rtl chain

6. Return Oriented Programming (ROP) 6. python programming 관련 동영상입니다. 설명은 생략하도록 할게요. 필요하신 분은 참고하세요! python 바이너리 사용법은 ./python [port] 입니다. 7. ROP 6은 건너뛰고 왜 7이냐면, 중간에 python basic programming 이 있었지만 설명할 게 별로 없으므로 넘어가기로 했습니다. 이번 7번째 강의시간은 Return Oriented Programming을 배워보도록 합니다. 이 기법은 리얼월드에서도 자주 쓰이는 기법으로 , 아직까지 ROP를 막는 방법이 연구되지 않았습니다. ROP(Return Oriented Programming)는 현재 수행중인 프로그램 코드 안에 존재하는 서브루틴이 리턴 명령어에 닿기 전에 선별된 기계 명령어 또는 기계 명령어 덩어리.. 더보기
4. Return to Library (RTL) Shayete입니다. 4번째 시간에는 최신환경의 우분투에서 Return to library 기법을 학습하겠습니다. Return to Libc 기법은 말 그대로, 라이브러리의 함수로 리턴해서 그 함수를 실행할 수 있습니다. 가령, 우리들이 임의로 짠 바이너리에 system() 함수가 없어도 라이브러리의 system()을 호출해서 그 바이너리에서 쓸 수 있지요. 이 기법을 알기 전에 리눅스의 plt, got가 어떤건지 이해하시면 좋습니다. 1. PLT & GOT plt는 procedure linkage table이라고, 외부라이브러리에서 함수를 가져다 쓸 때에 이 프로시져 테이블에서 함수의 실제주소( got ) 를 참조합니다. plt는 어떤 프로시져들(함수들)이 있는지 나열되어있는 테이블이라고 생각하시면 편.. 더보기