Pwntools---fmtstr_payload()介绍
fmtstr_payload是pwntools里面的一個(gè)工具,用來簡(jiǎn)化對(duì)格式化字符串漏洞的構(gòu)造工作。
可以實(shí)現(xiàn)修改任意內(nèi)存
fmtstr_payload(offset, {printf_got: system_addr})(偏移,{原地址:目的地址})
fmtstr_payload(offset, writes, numbwritten=0, write_size=‘byte’)
第一個(gè)參數(shù)表示格式化字符串的偏移;
第二個(gè)參數(shù)表示需要利用%n寫入的數(shù)據(jù),采用字典形式,我們要將printf的GOT數(shù)據(jù)改為system函數(shù)地址,就寫成{printfGOT:
systemAddress};本題是將0804a048處改為0x2223322
第三個(gè)參數(shù)表示已經(jīng)輸出的字符個(gè)數(shù),這里沒有,為0,采用默認(rèn)值即可;
第四個(gè)參數(shù)表示寫入方式,是按字節(jié)(byte)、按雙字節(jié)(short)還是按四字節(jié)(int),對(duì)應(yīng)著hhn、hn和n,默認(rèn)值是byte,即按hhn寫。
fmtstr_payload函數(shù)返回的就是payload
實(shí)際上我們常用的形式是fmtstr_payload(offset,{address1:value1})
這個(gè)是專門為32位程序格式化字符串漏洞輸出payload的一個(gè)函數(shù)
總結(jié)
以上是生活随笔為你收集整理的Pwntools---fmtstr_payload()介绍的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: BUUCTF(pwn)jarvisoj_
- 下一篇: BUUCTF(PWN)suctf_201