when libc leak pwnable process
음.. 뭔가 확실하게 나만의 방식을 정하고 싶어서 적는다.
우리가 libc leak을 하면 libc-database를 사용하든, 뭘하든 해서 libc 버전을 알아올 수 있다.
이때 내가 해야할 프로세스의 순서를 정해보자
- one-shot
일단 다른 방식을 하기 전에 one-shot이 먼저인것 같다. 왜냐면 가장 빠르고 안전하기 때문이다.
- GOT overwrite 다음으로 한번 고려해봐야 할건 got overwrite 여부이다. system으로 덮어쓸수 있는 함수가 있다면 빠르고 안전하게 control flow를 가져올 수 있다.
- ROP 다음은 ROP를 진행해야 한다. one-shot이 통하지 않으면, 직접 짜는 수 밖에 없다. lb를 구한뒤 offset을 더해가면서 차근차근 짜보자 ( stack aligned 생각하면서 )
- RTM ROP 만으로는 안된다면 이제 생각해볼게 Return to main으로 본 프로세스의 코드를 사용하는 방식이다.