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

BUUCTF PWN wp--bjdctf_2020_babystack

第一步   checksec一下,该题是64位的,该题目大概率是一道栈溢出(因为题目里面提到了stack)

分析一下这个二进制保护机制:

  • Arch: amd64-64-little
    • 这表示二进制文件是为64位AMD处理器设计的,使用的是小端序(little-endian)格式。
  • RELRO: Partial RELRO
    • RELRO(Relocation Read-Only)是一种安全特性,旨在减少某些类型的攻击,例如GOT(Global Offset Table)覆盖攻击。Partial RELRO意味着只对一些GOT表项进行了保护,而完全RELRO则会保护所有的GOT项。
  • Stack: No canary found
    • 栈保护可以通过栈保护符(canary)来实现,这是一种用来检测栈溢出的安全机制。如果没有找到栈保护符,那么这个二进制文件可能更容易受到栈溢出攻击。
  • NX: NX enabled
    • NX(Never eXecute)是一个硬件特性,它标记某些内存区域为不可执行,这有助于防止执行位于栈或堆上的代码,从而防御某些类型的缓冲区溢出攻击。
  • PIE: No PIE (0x400000)
    • PIE(Position Independent Executable)是一种安全特性,它使得程序的代码可以在加载时随机化其内存地址,从而增加利用内存损坏漏洞的难度。这里显示“没有PIE”,意味着这个二进制文件在固定的地址(0x400000)加载,这使得它更容易受到某些攻击。

第二步  进入主函数

点击nbytes数组看看

所以我们构建的payload,垃圾数据的大小即为0x10+8

我们来在strings窗口找一下有没有getshell的函数

跟进backdoor,其地址是0x4006e6

第三步   编写脚本(每行有注释说明)

运行成功


http://www.mrgr.cn/news/20469.html

相关文章:

  • JavaWeb后端开发总结(3)
  • 如何撰写SCI作者同意发表函/版权转让协议
  • 海外盲盒APP系统开发,盲盒全球化发展机遇
  • 网工内推 | 富士康、移动,大厂网工,最高25K,IE认证优先
  • 2024 高教社杯 数学建模国赛 (C题)深度剖析|农作物的种植策略|数学建模完整代码+建模过程全解全析
  • 针对STM32串口输出乱码错误问题
  • uniapp解决页面跳转时,含有base64的数据丢失问题
  • LeetCode438. 找到字符串中所有字母异位词(2024秋季每日一题 11)
  • C++基础智能指针
  • Web入门-08.Tomcat-基本使用
  • 易保全出席人工智能应用场景高峰论坛,发布AI-数据资产管理平台2.0应用成果
  • 简单介绍 NVIDIA推出的图形处理单元(GPU)架构“安培架构“
  • 【JAVA数据结构】简单洗牌算法——ArrayList(顺序表)使用实例
  • 如何借助AI快速筛选和整理文献?
  • CSP-J/S 复赛程序提交指南,提交错误必爆零!!!
  • MySQL——数据类型
  • 【MATLAB源码-第164期】基于matlab的轴承故障三种谱图:细化谱,功率谱,倒谱对比分析仿真。
  • 【HTTP、Web常用协议等等】前端八股文面试题
  • nginx报错 open() “/usr/local/nginx/html/favicon.ico“ failed
  • WildCard平台:什么是 ChatGPT 随心用?什么是 Claude 随心用?什么是随心用全能套餐?