PWN Test_your_nc Write UP

news2025/7/7 21:06:15

目录

PWN 00

解题过程

总结归纳

PWN 01

解题过程

总结归纳

PWN 02

解题过程

总结归纳

PWN 03

解题过程

总结归纳

PWN 04

解题过程

总结归纳


CTF PWN 开始! 冲就完了

PWN 00

解题过程

ssh远程链连接

ssh ctfshow@pwn.challenge.ctf.show -p28151

 输入yes ,再输入密码后进入远程连接,等待程序结束后发现给了一个shell

 得到flag

总结归纳

彩蛋题,没啥说的

PWN 01

解题过程

下载附件进行分析

file查看文件类型,

checksec检查文件是否开始保护,可以看到文件64位,而且关闭了Canary保护

使用IDA静态分析,找到main函数,并且F5得到伪C代码

这个程序会自动根目录下的文件,本地运行pwn测试

本地根目录做个测试文件

system执行cat命令是在shell环境下的,shell命令是由交互的,会把执行的结果打印在shell里面

根据题目提示:应该是在服务器端口上开设了一个服务,nc链接就可以触发

nc pwn.challenge.ctf.show 28235

总结归纳

system执行cat命令是在shell环境下的,shell命令是由交互的,会把执行的结果打印在shell里面

PWN 02

解题过程

和上面一样,file判断文件类型是动态链接库文件,checksec文件唯独没开启Canary防护

IDA下分析可执行文件的伪C代码

运行这个程序会返回一个shell环境,直接查看根目录的flag即可

总结归纳

 system("/bin/sh"); 工作原理是什么?

/bin/sh 其实是一个软链接,指向dash

system()函数先fork一个子进程,在这个子进程中调用/bin/sh -c来执行command指定的命令。/bin/sh在系统中一般是个软链接,指向dash或者bash等常用的shell,-c选项是告诉shell从字符串command中读取要执行的命令(shell将扩展command中的任何特殊字符)。父进程则调用waitpid()函数来为变成僵尸的子进程收尸,获得其结束状态,然后将这个结束状态返回给system()函数的调用者。

通俗的讲就是:那么也就是说执行完这个后它就会返回一个shell给函数的调用者:

system("/bin/sh");这一类的我们称之为后门函数,再后续利用过程中我们要尽可能找到或者构造出来
 

PWN 03

解题过程

file查看文件类型,动态链接库,64位程序

checksec查看文件保护情况,全部开启

IDA中F5分析文件的伪c代码

进入case6函数

远程nc连接,选择6,得到flag

总结归纳

没啥说的,加了点逻辑

PWN 04

解题过程

file查看文件类型,动态链接库,64位程序

checksec查看文件保护情况,全部开启

IDA中F5分析文件的伪c代码

  1. 首先将字符串"CTFshowPWN"复制到s1变量中。
  2. 接着,使用puts函数输出字符串"find the secret !"。
  3. 紧接着,通过_isoc99_scanf函数从用户输入中读取一个字符串到s2变量中。
  4. 最后,通过 strcmp函数比较s1和s2的内容是否相同。如果相同,则调用execve_func函数。
     

execve_func函数:

  1. 可以看到将字符串"/bin/sh”赋值给argv变量。
  2. 然后,将v2和v3初始化为0。
  3. 通过调用execve系统调用来执行/bin/sh shell。

 输入CTFshowPWN拿flag

总结归纳

execve本身并不是一个后门函数。实际上,execve是一个标准的系统调用函数,用于在Linux和类Unix系统中执行一个新的程序。

该函数接受三个参数:

  • filename :要执行的程序的文件名或路径。
  • argv :一个以NULL结尾的字符串数组,表示传递给新程序的命令行参数。
  • envp :一个以NULL结尾的字符串数组,表示新程序的环境变量。

当调用execve函数时,它会将当前进程替换为新程序的代码,并开始执行新程序。新程序接收argv和envp作为命令行参数和环境变量。在加入某些参数后就可以达到我们所需要的后门函数的效果。

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

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

相关文章

Git使用【上】

欢迎来到Cefler的博客😁 🕌博客主页:那个传说中的man的主页 🏠个人专栏:题目解析 🌎推荐文章:题目大解析3 前言 先前有些git命令我在我的其它文章里面已经写过,若要查看可参考【Linu…

嵌入式Linux应用开发-基础知识-第十八章系统对中断的处理②

嵌入式Linux应用开发-基础知识-第十八章系统对中断的处理② 第十八章 Linux系统对中断的处理 ②18.3 Linux中断系统中的重要数据结构18.3.1 irq_desc数组18.3.2 irqaction结构体18.3.3 irq_data结构体18.3.4 irq_domain结构体18.3.5 irq_chip结构体 18.4 在设备树中指定中断_在…

【Python】返回指定时间对应的时间戳

使用模块datetime,附赠一个没啥用的“时间推算”功能(获取n天后对应的时间 代码: import datetimedef GetTimestamp(year,month,day,hour,minute,second,*,relativeNone,timezoneNone):#返回指定时间戳。指定relative时进行时间推算"""根…

前端开发网站推荐

每个人都会遇见那么一个人,永远无法忘却,也永远不能拥有。 以下是一些可以用来查找和比较前端框架的推荐网站: JavaScript框架比较: 这些网站提供了对不同JavaScript框架和库的详细比较和评估。 JavaScripting: 提供了大量的JavaS…

深入了解 Linux 中的 AWK 命令:文本处理的瑞士军刀

简介 在Linux和Unix操作系统中,文本处理是一个常见的任务。AWK命令是一个强大的文本处理工具,专门进行文本截取和分析,它允许你在文本文件中查找、过滤、处理和格式化数据。本文将深入介绍Linux中的AWK命令,让你了解其基本用法和…

Cesium实现动态旋转四棱锥(2023.9.11)

Cesium实现动态悬浮旋转四棱锥效果 2023.9.11 1、引言2、两种实现思路介绍2.1 思路一:添加已有的四棱锥(金字塔)模型实现(简单但受限)2.2 思路二:自定义四棱锥几何模型实现(复杂且灵活&#xff…

双指针算法——复写零

双指针算法——复写零😎 前言🙌复写零板书分析:解题代码:B站视频讲解 总结撒花💞 😎博客昵称:博客小梦 😊最喜欢的座右铭:全神贯注的上吧!!&#…

VUE3照本宣科——认识VUE3

VUE3照本宣科——认识VUE3 前言一、命令创建项目1.中文官网2.菜鸟教程 二、VUE3项目目录结构1.public2.src(1)assets(2)components 3. .eslintrc.cjs4. .gitignore5. .prettierrc.json6.index.html7.package.json8.README.md9.vit…

芒果叶病害数据集(用于图像分类,每类500张照片)

1.数据集介绍 数据类型:240x320 像素的芒果叶图像。数据格式:JPG。图像数量:共有4000张图像。其中约有1800张是不同的叶子图像,其余的是通过缩放和旋转进行制备的。考虑的病害:包括七种病害,分别是炭疽病、…

大型项目开发设计文档规范

目录 一、 需求文档分析 二、 需求分析 1.交互层分析 2.功能需求分析 3.数据分析 4.兼容性分析 5.非功能性分析 三、 系统现状分析 1. 判断要开发的功能属于哪个模块,需要与哪几个模块联动? 2. 要开发的功能属于新接口开发,还是既有…

下载安装 VMware 虚拟机

文章目录 基本介绍下载并安装 VMware Workstation创建虚拟机iso镜像下载地址开始系统安装配置选择语言ip和代理盘符和用户及密码远程github软件安装开始安装重启使用 安装 VMware Tools 基本介绍 VMware 是什么?虚拟机是什么?二者有什么关系?…

SEO搜索引擎

利用搜索引擎的规则提高网站在有关搜索引擎内的自然排名,吸引更多的用户访问网站,提高网站的访问量,提高网站的销售能力和宣传能力,从而提升网站的品牌效应 搜索引擎优化的技术手段 黑帽SEO 通过欺骗技术和滥用搜索算法来推销毫不…

使用VBA实现快速模糊查询数据

实例需求:基础数据保存在Database工作表中,如下图所示。 基础数据有37个字段,上图仅展示部分字段内容,下图中黄色字段为需要提取的数据字段。 在Search工作表B1单元格输入查询关键字Title和Genre字段中搜索关键字,包…

nginx-proxy反向代理流程

1.浏览器发送请求数据到nginx。 2.nginx先处理请求头,后处理请求体。 client_header_buffer_size #ginx可设置客户端上传header缓冲区大小 client_body_buffer_size #nginx可设置客户端上传数据缓冲区大小 client_body_t…

Android 10.0 Launcher3定制化之folder文件夹文件居中显示的功能实现

1.概述 在10.0的系统产品开发中,在对Launcher3的定制开发中的功能,在最近的产品项目中,有需求要求带默认文件夹功能,所以需要对文件夹的ui做定制化功能的修改在文件夹全屏以后,需要对子文件部分做居中处理,在居中显示比较美观,接下来就来处理居中显示的部分. 如图: 2.…

UX设计VSUI设计

UX设计在近年来国内蓬勃发展,许多人对其产生了浓厚的兴趣。那么我们应该如何通过自学来系统地学习UX设计呢?话不多说,上干货! 1、 深入了解UX设计行业 在开始学习之前,需要深入了解UX设计师的工作内容和行业发展前景。确定这是自己想要从事的职业后,再…

Armv8/Armv9 Cache知识大纲分享--思维导图

关键词:cache学习、mmu学习、cache资料、mmu资料、arm资料、armv8资料、armv9资料、 trustzone视频、tee视频、ATF视频、secureboot视频、安全启动视频、selinux视频,cache视频、mmu视频,armv8视频、armv9视频、FF-A视频、密码学视频、RME/CC…

Arm Cache学习资料大汇总

关键词:cache学习、mmu学习、cache资料、mmu资料、arm资料、armv8资料、armv9资料、 trustzone视频、tee视频、ATF视频、secureboot视频、安全启动视频、selinux视频,cache视频、mmu视频,armv8视频、armv9视频、FF-A视频、密码学视频、RME/CC…

【Java接口性能优化】skywalking使用

skywalking使用 提示:微服务中-skywalking使用 文章目录 skywalking使用一、进入skywalking主页二、进入具体服务1.查看接口 一、进入skywalking主页 二、进入具体服务 可以点击列表或搜索后,点击进入具体服务 依次选择日期、小时、分钟 1.查看接口 依次…

Kubernetes(K8s):容器编排的未来是什么?

文章目录 Kubernetes的核心概念和工作原理1. 节点(Nodes)2. 容器3. Pod4. 控制器5. 服务 Kubernetes为什么成为容器编排的首选工具?1. 自动化和可扩展性2. 多云支持3. 生态系统和社区4. 云原生开发 未来趋势:K8s如何继续发展和演进…