【PolarCTF】nc

news/2025/10/12 11:10:00/文章来源:https://www.cnblogs.com/0xzero1/p/19136158

1. 首先下载文件,得到一个没有后缀名的pwn1文件。拿到ubuntu分别用file和checksec查看。
1

2. 我们可以看到这是一个64位ELF文件,动态链接,符号表未被剥离,存在canary和NX保护。

3. 接着拿到ida上去分析一下,先来看一下main函数,这里有个special-mode(特殊模式)。
2

4. 进入special-mode的方法就是进行字符串比对,如果输入是$0就会进入,否则就Error。

5. 进入special-mode之后又出现一个新的函数parse_special_command,我们跟进看看。
3

6. 这里出现了两个字符串,cat${IFS}flag和cat flag,区别是空格,难免让人联想到验证绕过。

7. 那会不会是这样呢?把这段代码拿到AI上看看,结果确实如此。截图如下所示:
4

8. 换言之,只有输入cat${IFS}flag才能拿到flag,接下来编写一个连接交互服务器的py脚本。
5

9. 运行脚本,依次输入$0和cat${IFS}flag,最终得到结果:flag{879d298e-3ef3-4ba7-967b-6458e5bf85ee}
6

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

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

相关文章

[ARC081E] Dont Be a Subsequence 题目分析

一个类似于 `CSP2025-S` 中第三题的动态规划。倒着做。设 $f_i$ 表示以 $A_i$ 为开头的子序列不在 $A_{i\dots |A|}$ 出现的最短长度。然后从后面挑一个转移即可。但是我们发现这样子是 $\mathcal{O}(n^2)$ 的。但是我…

AI代理从概念验证到生产部署全流程

本文详细介绍了如何将AI代理从概念验证阶段推进到生产环境,涵盖内存管理、工具集中化、运行时部署等关键技术环节,通过客户支持代理案例展示完整实施路径。将AI代理从概念验证推进到生产环境 构建能够处理真实生产用…

Azure Arc C2即服务:攻击与防御实战指南

本文深入探讨Azure Arc被用作命令与控制(C2)服务的潜在风险,详细分析攻击部署流程、代码执行机制及检测策略,涵盖进程监控、网络检测和文件系统监控等多维度防御方案。Azure Arc - C2aaS 关于作者/课程注册关于Andy …

CPU中的加法运算与减法运算

定义说明 从硬件设计角度来说,现代 CPU主要通过加法器实现所有算术运算,包括减法 —— 本质上是将减法转换为 “加上一个负数的补码” 来完成。这并非 CPU “不能做减法”,而是通过设计技巧让加法器同时承担加减法功…

子序列自动机学习笔记

https://www.cnblogs.com/zhln/p/18432582

2018牛客网暑期ACM多校训练营(第一场)

链接 A - Monotonic Matrix 以表格的形式画出 \(A\),发现最终表格一定形如一下形式。非常像 LGV 引理要求的形式,将 1 和 2 的交界线往下往右都移动一个点位,然后套 LGV 就可以了,答案是: \[\det\left(\left[\beg…

20232311 2025-2026-1 《网络与系统攻防技术》实验一实验报告

一、实验内容 本周围绕 Linux 可执行文件 pwn1 的缓冲区溢出(BOF)漏洞与 shellcode 注入展开学习,核心是通过三种技术手段篡改程序执行流程,触发原本不可运行的 getShell 函数或自定义 shellcode。具体包括:手动修…

你的认知模式,决定了你的人生高度

## 为什么“知道很多道理,却依然过不好这一生”?古希腊德尔斐神庙上刻着一句箴言——“认识你自己”。两千多年过去了,人类破解了基因组,发射了火星探测器,却在“认识自己”这件事上进步寥寥。我们刷短视频、买线…

笔记(C++篇)—— Day 12 - 详解

笔记(C++篇)—— Day 12 - 详解pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco&q…

在Typora中数学公式无法显示问题

从DeepSeek复制的公式粘贴到Tpora时会无法显示,主要是两者解析公式的格式不一样,DeepSeek用\(与\)来区分公式,而Typora用$符号来区分,所以只需要将\(和\)这两个符号替换为$符号,便可解决问题。首先在偏好设置中,…

C# 集合框架完全指南:从IEnumerable到ObservableCollection的深度解析 - 教程

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

洛谷个人主页

洛谷个人主页的备份(因为洛谷个人主页挂掉了所以只能放在这了)2025 年广东省初中学业水平考试 游记 CSP-J/S 2024 游记 有意思的题目 不应#@!存@#在的?东@#!@#西?? 中考加油!/give @a rp 999999999 统计日期:20…

C++ - 从字符串中提取一个数的若干种写法

提取整数 要求:输入一个字符串里面包含一个整数,注意字符串中可能有空格。 用字符串string用char提取整数 要求:输入一串字符串,里面包含若干个小数,字符串中可能有空格。 比如输入:The marathon runner complet…

ABC 日志

ABC427 过了前五题,E 感觉没怎么想清楚花了好久。 F 是 meet in the middle,G 赛事大概口胡是个平衡树有交合并,但是可能来不及写了。

docker常用命令 - 实践

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

如何在UE中创建动态枚举

前言 在UE项目开发中,枚举(Enum)是最常用的数据类型之一。但传统的静态枚举有个致命问题:枚举值在编译时固定,无法根据配置动态调整。 想象这样的场景:你的游戏有多个AI类型,需要在编辑器中配置,但不想每增加一个…

搭建SSH服务于RK3399平台上的Ubuntu 18.04,实现远程连接

安装SSH服务更新系统包列表:打开终端,输入以下命令来更新你的包列表: sudo apt-get update安装OpenSSH服务器:使用下面的命令来安装OpenSSH服务器: sudo apt-get install openssh-server启动SSH服务:安装完成后,…

深入探讨MySQL的二进制日志(binlog)选项

MySQL的二进制日志(Binary Log,简称binlog)是MySQL数据库的核心功能之一,主要用于记录数据库中所有修改数据内容的SQL语句。它是实现数据复制、恢复和增量备份等功能不可或缺的组件。 1. 二进制日志格式 MySQL支持…

sparkml 多列共享labelEncoder - 详解

sparkml 多列共享labelEncoder - 详解pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Mona…