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

【PolarCTF】nc

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.hskmm.com/?act=detail&tid=29173

相关文章:

  • [ARC081E] Dont Be a Subsequence 题目分析
  • AI代理从概念验证到生产部署全流程
  • Azure Arc C2即服务:攻击与防御实战指南
  • CPU中的加法运算与减法运算
  • macos单独打开模拟器simulator
  • 子序列自动机学习笔记
  • 2018牛客网暑期ACM多校训练营(第一场)
  • 20232311 2025-2026-1 《网络与系统攻防技术》实验一实验报告
  • 你的认知模式,决定了你的人生高度
  • 在Typora中数学公式无法显示问题
  • 洛谷个人主页
  • 原码、反码、补码
  • C++ - 从字符串中提取一个数的若干种写法
  • ABC 日志
  • 251012
  • 如何在UE中创建动态枚举
  • 能连上 GitHub(SSH 验证成功),却 push 失败?常见原因与逐步解决方案 - 详解
  • 换根dp的一个trick
  • 搭建SSH服务于RK3399平台上的Ubuntu 18.04,实现远程连接
  • 深入探讨MySQL的二进制日志(binlog)选项
  • sparkml 多列共享labelEncoder - 详解
  • 一键解决MetaHuman播放动画时头部穿模问题
  • 忽然很好奇为什么素未谋面的大家都知道我是学姐?
  • UE网络编程完全指南:UDP TCP WebSocket实现详解
  • 配置Nginx服务器在Ubuntu平台上
  • 缓存一致性验证秘笈
  • 从十五岁的今天写给十六岁的明天
  • kali U盘启动持久化
  • 深入解析:Telerik UI for ASP.NET MVC 2025 Q3
  • Java依记 DAY02 - I