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

【CTF实战解析】ACTF2020新生赛Exec:从PING功能到命令注入的完整攻击链

1. 从PING功能到命令注入的漏洞挖掘第一次看到这个ACTF2020新生赛的Exec题目时我差点以为就是个简单的网络测试题。毕竟页面上只有一个PING功能的输入框看起来人畜无害。但作为一个老CTF选手我深知越是简单的界面越可能暗藏玄机。我先做了最基本的测试输入127.0.0.1页面正常返回了PING的结果。这时候我注意到题目名称叫Exec这个命名立刻引起了我的警觉。在PHP中exec()和system()这类函数是命令注入漏洞的高发区。于是我尝试在PING地址后面加了个分号输入127.0.0.1; ls结果服务器竟然返回了当前目录的文件列表这个发现让我兴奋不已因为这确认了存在命令注入漏洞。在实际渗透测试中这种看似无害的功能往往是突破口。很多开发者会觉得不就是个PING功能吗能有什么危险却不知道当用户输入直接拼接到系统命令时就打开了潘多拉魔盒。我记得去年审计一个企业系统时就是在类似的网络工具页面发现了严重漏洞。2. 命令注入漏洞的深度利用确认漏洞存在后接下来就是深度利用了。我首先尝试了127.0.0.1; uname -a来获取系统信息返回结果显示这是一台Linux服务器。这一步很重要因为知道了操作系统类型后续的攻击才能有的放矢。然后我尝试列出根目录127.0.0.1; ls /。在返回的结果中我注意到有个名为flag的文件特别显眼。这时候心跳加速了因为按照CTF的惯例这很可能就是我们要找的目标。但直接读取可能会触发过滤机制于是我用了点小技巧127.0.0.1; tac /flag。这里使用tac而不是cat是为了绕过可能的简单过滤。在实际渗透中信息收集是关键。除了查看文件我还建议尝试这些命令whoami查看当前用户权限ifconfig查看网络配置find / -name flag全盘搜索flag文件3. 命令分隔符的妙用命令注入的核心在于如何巧妙地分隔原始命令和我们注入的恶意命令。在这个案例中分号(;)是最简单的分隔符表示顺序执行多条命令。但实际场景中我们可能需要尝试更多分隔符管道符(|)将前一个命令的输出作为后一个命令的输入逻辑运算符(和||)根据前一个命令的执行结果决定是否执行后续命令后台执行符()让命令在后台运行命令替换($()或反引号)先执行括号或反引号内的命令我曾在一次实战中遇到过分号被过滤的情况最后用成功实现了注入。还有一次所有常见分隔符都被过滤了但我通过变量拼接的方式绕过了防护127.0.0.1; ac;bat;$a$b /flag4. CTF中的实用绕过技巧在真实的CTF比赛或渗透测试中很少会遇到完全不设防的系统。这时候就需要一些绕过技巧了。除了上面提到的变量拼接还有几个实用的方法编码绕过比如使用base64编码命令127.0.0.1; echo dGFjIC9mbGFn | base64 -d | bash通配符使用当关键字符被过滤时127.0.0.1; cat /fla?空格替代当空格被过滤时127.0.0.1; cat${IFS}/flag命令嵌套通过子命令执行127.0.0.1; $(echo tac /flag)记得有次比赛过滤了所有特殊字符我最后通过制表符(Tab)完成了注入。这种经验告诉我永远要多准备几套方案。5. 从CTF到实战的思考虽然这个ACTF题目比较简单但它完美展示了命令注入漏洞的整个攻击链条。从最初的功能测试到漏洞识别再到最后的漏洞利用每一步都需要细致的观察和思考。在实际的Web应用安全评估中我通常会特别关注这些功能点任何调用系统命令的功能文件上传和处理功能系统信息查询功能网络工具类功能(如PING、traceroute等)防御方面我有几点建议永远不要相信用户输入必须严格过滤使用白名单而非黑名单机制尽量使用语言原生函数替代系统命令调用设置严格的权限控制遵循最小权限原则最后要提醒的是在真实环境中发现漏洞后一定要遵守负责任的披露流程先联系厂商修复切勿擅自利用。技术是把双刃剑用对地方才能创造价值。

相关文章:

【CTF实战解析】ACTF2020新生赛Exec:从PING功能到命令注入的完整攻击链

1. 从PING功能到命令注入的漏洞挖掘 第一次看到这个ACTF2020新生赛的Exec题目时,我差点以为就是个简单的网络测试题。毕竟页面上只有一个PING功能的输入框,看起来人畜无害。但作为一个老CTF选手,我深知越是简单的界面,越可能暗藏玄…...

OpenClaw技能开发入门:为百川2-13B模型定制专属文件处理插件

OpenClaw技能开发入门:为百川2-13B模型定制专属文件处理插件 1. 为什么需要自定义文件处理技能? 去年夏天,我的桌面上堆积了超过2000份未分类的文档——包括技术笔记、会议记录、临时下载的论文和各种截图。当我尝试用现有工具整理时&#…...

解决WSL2和Hyper-V网络冲突:最新镜像模式+防火墙配置指南

解决WSL2与Hyper-V网络冲突的终极方案:镜像模式与防火墙深度配置 在Windows系统上同时运行WSL2和Hyper-V虚拟机时,网络冲突问题几乎成为每个开发者的必经之路。想象一下这样的场景:当你正在调试一个分布式系统,WSL2中的微服务需要…...

相场法在水力压裂仿真中越来越火,它能用连续函数描述裂缝边界,比传统方法更适合处理复杂裂缝网络。今天咱们拿COMSOL 6.0开刀,看看四个实战模型的实现门道

相场法水力压裂,共四个模型,comsol6.0版本及以上,附赠参考文献 模型一:对称三簇压裂;模型二:水力裂缝与天然裂缝相交;模型三:单水平裂缝扩展;模型四:水平裂缝…...

嵌入式开发中PlantUML图表的工程化应用

嵌入式开发中PlantUML图表的工程化应用指南1. 嵌入式文档工具概述在嵌入式系统开发过程中,系统架构图和设计文档是工程师沟通需求、梳理逻辑的核心工具。传统拖拽式绘图工具存在效率低下、维护困难等问题,而基于代码生成图表的PlantUML技术为嵌入式开发文…...

检索模型cross-encoder笔记

文章目录计算句子对相似度搜索结果的“重排序”cross-encoder一种检索模型,和双路召回机制不一样,各有优缺点。cross-encoder最大的特点就是会将query(问题)和document(候选文本)一起分析。一般的流程是,双路召回先粗排,cross-enc…...

终极GitHub加速解决方案:让你的代码下载速度提升100倍

终极GitHub加速解决方案:让你的代码下载速度提升100倍 【免费下载链接】Fast-GitHub 国内Github下载很慢,用上了这个插件后,下载速度嗖嗖嗖的~! 项目地址: https://gitcode.com/gh_mirrors/fa/Fast-GitHub 你是否曾经因为G…...

python numpy包的使用

文章目录比较常用的功能计算相似度计算矩阵有人问 求平均数还不简单,还用的着mean()方法吗?np.sum()方法计算矩阵的行和与列和keepdims求和后保持结果的维度不变示例np.sum()的内置参数非常强的一个包,在数组、矩阵、向量计算方面极具优势。比较常用的功…...

跨平台模组获取:Steam创意工坊资源的多引擎下载方案

跨平台模组获取:Steam创意工坊资源的多引擎下载方案 【免费下载链接】WorkshopDL WorkshopDL - The Best Steam Workshop Downloader 项目地址: https://gitcode.com/gh_mirrors/wo/WorkshopDL 诊断访问障碍:游戏模组获取的系统性问题分析 识别用…...

SCRFD实战:从数据标注到模型训练的全流程指南

1. SCRFD算法基础与场景适配 SCRFD作为轻量级人脸检测算法,最初设计用于输出人脸矩形框及5个关键点(左右眼、鼻尖、嘴角)。但在工业质检、医疗影像等领域,我们常需要检测其他目标并调整关键点数量。比如检测电路板元件需要3个定位…...

终极窗口置顶解决方案:如何用AlwaysOnTop告别窗口切换烦恼

终极窗口置顶解决方案:如何用AlwaysOnTop告别窗口切换烦恼 【免费下载链接】AlwaysOnTop Make a Windows application always run on top 项目地址: https://gitcode.com/gh_mirrors/al/AlwaysOnTop 你是否曾因频繁切换窗口而打断工作流?是否在多…...

如何用AI驱动的智能字幕工具解决日语视频字幕制作难题?零基础也能实现90%准确率的字幕生成方案

如何用AI驱动的智能字幕工具解决日语视频字幕制作难题?零基础也能实现90%准确率的字幕生成方案 【免费下载链接】N46Whisper Whisper based Japanese subtitle generator 项目地址: https://gitcode.com/gh_mirrors/n4/N46Whisper 日语视频字幕制作常常让内容…...

Docker+宝塔双方案:Nextcloud私有云盘从入门到企业级部署全攻略

Nextcloud企业级私有云部署双轨方案:Docker敏捷开发与宝塔生产环境实战指南 在数字化转型浪潮中,企业数据主权意识正在觉醒。Nextcloud作为开源的私有云解决方案,不仅提供了媲美商业云盘的功能体验,更让组织完全掌控数据流向。本文…...

窗口置顶技术突破:AlwaysOnTop重构多任务处理逻辑

窗口置顶技术突破:AlwaysOnTop重构多任务处理逻辑 【免费下载链接】AlwaysOnTop Make a Windows application always run on top 项目地址: https://gitcode.com/gh_mirrors/al/AlwaysOnTop 在数字化工作环境中,窗口管理效率直接影响任务处理速度…...

深度学习训练不再难:环境镜像帮你搞定所有依赖,专注代码开发

深度学习训练不再难:环境镜像帮你搞定所有依赖,专注代码开发 1. 镜像环境概述 深度学习项目开发中最令人头疼的问题之一就是环境配置。不同框架版本、CUDA版本、Python版本之间的兼容性问题常常让开发者陷入"依赖地狱"。本镜像正是为解决这一…...

OpCore-Simplify:如何用零代码工具在15分钟内完成黑苹果配置

OpCore-Simplify:如何用零代码工具在15分钟内完成黑苹果配置 【免费下载链接】OpCore-Simplify A tool designed to simplify the creation of OpenCore EFI 项目地址: https://gitcode.com/GitHub_Trending/op/OpCore-Simplify 对于想要在PC上安装macOS的用…...

从电赛真题到产品原型:深入解析单相全桥逆变三种SPWM调制策略(含效率与波形对比)

单相全桥逆变SPWM调制策略实战:从电赛到工业应用的深度解析 在电力电子领域,逆变技术作为直流-交流转换的核心环节,其性能优劣直接影响着整个系统的效率与可靠性。单相全桥逆变器凭借其结构简单、控制灵活的特点,成为电子设计竞赛…...

Phi-3 Forest Lab快速部署:使用Podman替代Docker的无root安全运行方案

Phi-3 Forest Lab快速部署:使用Podman替代Docker的无root安全运行方案 1. 项目概述 Phi-3 Forest Lab是一个基于微软Phi-3 Mini 128K Instruct模型构建的极简主义AI对话终端,旨在为用户提供一个静谧、高效且富有逻辑的思考空间。与传统AI终端不同&…...

H3C防火墙双机热备(RBM)部署后,别忘了这3个关键监控与排错点(含track接口/VRRP状态查看)

H3C防火墙双机热备(RBM)部署后的3个关键运维盲区与实战排错指南 当你在数据中心完成H3C防火墙双机热备部署时,真正的挑战才刚刚开始。很多工程师以为配置完remote-backup-group和VRRP就万事大吉,直到深夜被报警电话惊醒才发现——…...

C++和C语言中填充字符、宽度的语法差异

本人因为昨天参加学校天梯赛,后惊讶发现天梯赛题目输出要求答案有格式需求,无奈落榜,仅以此文来告诫自身 (绷不住了)。C语言一、C 语言(printf)基本格式:%[flags][width][.precision…...

ROS小车仿真进阶:手把手教你用URDF和Xacro为阿克曼转向车‘造轮子’

ROS阿克曼转向车仿真实战:从URDF建模到Gazebo调试全解析 当你在Gazebo中第一次看到自己搭建的阿克曼转向车完美执行转弯指令时,那种成就感堪比看着孩子学会骑自行车。作为ROS开发者,掌握URDF/Xacro建模技术就像获得了一把打开机器人世界的万能…...

实测AI净界抠图能力:发丝、玻璃杯、薄纱,复杂边缘处理全展示

实测AI净界抠图能力:发丝、玻璃杯、薄纱,复杂边缘处理全展示 1. 为什么我们需要更智能的抠图工具? 在日常工作和创作中,抠图是一个绕不开的环节。无论是电商产品图处理、平面设计还是AI训练数据准备,我们都希望快速获…...

all-MiniLM-L6-v2部署教程:Ollama中自定义embedding模型名称与API端点配置

all-MiniLM-L6-v2部署教程:Ollama中自定义embedding模型名称与API端点配置 想在你的本地环境中快速部署一个轻量、高效的文本向量化服务吗?all-MiniLM-L6-v2是一个绝佳的选择。这个模型虽然小巧,但在语义理解任务上表现不俗,特别…...

从零开始:使用mmsegmentation训练自定义数据集的全流程指南

1. 环境准备与安装指南 第一次接触mmsegmentation时,最头疼的就是环境配置。记得我刚开始用的时候,光是解决CUDA和PyTorch版本兼容问题就折腾了一整天。现在把踩过的坑都总结出来,让你10分钟搞定环境搭建。 核心依赖清单: Python …...

OpenClaw+GLM-4.7-Flash智能邮件分类:自动识别优先级与回复草稿

OpenClawGLM-4.7-Flash智能邮件分类:自动识别优先级与回复草稿 1. 为什么我需要智能邮件助手 每天早晨打开邮箱时,我的收件箱总是堆满未读邮件——客户咨询、会议邀请、系统通知、订阅推送混杂在一起。手动分类需要花费20-30分钟,而最让我头…...

重构鼠标潜能:Mac Mouse Fix全场景优化指南

重构鼠标潜能:Mac Mouse Fix全场景优化指南 【免费下载链接】mac-mouse-fix Mac Mouse Fix - A simple way to make your mouse better. 项目地址: https://gitcode.com/GitHub_Trending/ma/mac-mouse-fix Mac Mouse Fix是一款开源工具,专为解决m…...

KeyPass深度解析:打造完全离线的现代密码管理解决方案

KeyPass深度解析:打造完全离线的现代密码管理解决方案 【免费下载链接】KeyPass KeyPass: Open-source & offline password manager. Store, manage, take control securely. 项目地址: https://gitcode.com/gh_mirrors/ke/KeyPass 在数字时代&#xff0…...

零基础打造AI动画:sd-webui-mov2mov视频生成插件终极指南

零基础打造AI动画:sd-webui-mov2mov视频生成插件终极指南 【免费下载链接】sd-webui-mov2mov This is the Mov2mov plugin for Automatic1111/stable-diffusion-webui. 项目地址: https://gitcode.com/gh_mirrors/sd/sd-webui-mov2mov 想要将普通视频转化为惊…...

DownKyi:3分钟掌握B站视频下载的高效方法

DownKyi:3分钟掌握B站视频下载的高效方法 【免费下载链接】downkyi 哔哩下载姬downkyi,哔哩哔哩网站视频下载工具,支持批量下载,支持8K、HDR、杜比视界,提供工具箱(音视频提取、去水印等)。 项…...

【 MySQL 】第三节 - 约束实战全攻略

🌟【深度剖析】MySQL 约束实战全攻略:从建表到外键行为管理(附避坑指南) 前言 在数据库设计中,约束(Constraint) 是保障数据一致性、完整性和业务逻辑性的“安全锁”。日前我系统学习了 MySQL…...