[Pwn tips] fmtstr_payload

코코·2023년 8월 15일
1

Pwn-tools & tip

목록 보기
6/8

오늘은 간단하게 Format String Bug Payload를 자동으로 작성해주는 함수에 대해 작성해보려한다.


여태까지 사용자의 입력값이 출력되는 offset을 찾고, Payload를 직접 하나하나 계산해서 작성했었는데 Pwntools에 있는 fmtstr_payload 함수를 사용하면 손쉽게 Payload를 작성해준다.👍


사용방법은 간단하다.

payload = fmtstr_payload(offset, {주소 : 덮을 값})

# ex.
payload = fmtstr_payload(6, {changeme_addr:value})

이런 식으로 작성해주면 알아서 FSB Payload를 작성해준다.


참고로 offset은 사용자의 입력값이 나타나는 offset을 의미한다.
위의 상황일 때, offset은 6이 된다.

fmtstr_payload - 64bit 환경

context.bits = 64

64비트 환경이라면, context.bits를 통해 64비트 환경임을 명시해줘야한다. context.bits를 통해 명시해주지 않으면, 오류가 발생한다.



좀 더 fmtstr_payload 함수에 대해 알고싶으면, 아래의 docs를 확인해보자.
👉 https://docs.pwntools.com/en/stable/fmtstr.html

profile
화이팅!

0개의 댓글