시스템 해킹 (Pwnable)/Archive
ROP(Return Oriented Programming)를 이용한 시스템 해킹
이 게시글은 Protostar stack7 문제를 다룰 것이다. x86 기반의 문제 파일이 필요하다 디버깅을 해서 system()의 주소, /bin/sh의 주소를 확인한다 패턴을 이용해서 스택의 첫 요소까지의 값(패딩 값)을 확인한다. 위의 Invalid $PC address : 0x41414a41 부분이 걸린 부분이다. 따라서 해당 값 0x41414a41 을 복사해서 patter offset 0x41414a41 를 입력하면 된다. 위의 내용들로 페이로드를 구성하면, 아래 처럼 작성할 수 있을 것이다. 하지만 이 방법으로 쉘을 얻을 수 없다. sys의 주소가 ret에 들어가서 조건문에 막히기 때문 즉 ret에 system()의 주소가 아니라, ret 명령어가 있는 곳을 넣는다. ret -> ret 주소 ..