본문 바로가기

security/pwn

[pwn] pwntools cyclic 활용

pwn bof문제를 풀다가 보면 입력 buffer로부터 ret의 거리를 구하는 경우처럼 offset을 구해야 하는 경우가 있다. 보통 stack frame을 살펴야 하는데 이때 pwntools의 cyclic을 활용하면 보다 쉽게 구할 수 있다.

 

pwntools의 cyclic의 원리는 고유한 순환 패턴 문자열을 생성한다. 이후 특정 문자열의 offset 값을 알려주는 원리로 offset을 구할 수 있다.

 

명령어는 python exploit code에서 쓸 수도 있고 cli 명령어 프롬프트에서 사용할 수도 있다. 아래는 gdb가 아닌 cli 명령어 프롬프트에서 사용하는 명령어이다.

 

pwn cyclic <생성 문자열 길이>

pwn cyclic -l <offset 구할 문자열>

 

이외에도 gef gdb에서 지원해주는 pattern도 같은 상황에서 많이 쓰이니 참고하도록.

 

아래에서 pwn cyclic을 쓰는 reference를 참고하였다.

 

https://flash-ctf.tistory.com/78

 

ROP (64byte) 문제 3번

안녕하세요!오늘은 rop 64byte3번째 문제를 풀어보도록 할게요! 해당 문제는 제가 위에 올려놓았습니다!코드는 아래와 같습니다! char형의 배열 sh에는 "/bin/sh" 문자열이들어가있네요! 당연히 이를

flash-ctf.tistory.com

 

'security > pwn' 카테고리의 다른 글