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

从一次“翻车”的漏洞复现说起:记CVE-2018-7490中那个找不到的/tmp/flag

从一次“翻车”的漏洞复现说起CVE-2018-7490排查实录那天下午我像往常一样打开Vulfocus靶场准备复现uWSGI目录穿越漏洞CVE-2018-7490。这个漏洞在安全圈已经讨论多年原理清晰明了——通过构造特殊的..%2f路径穿越符可以突破DOCUMENT_ROOT限制访问任意文件。理论上这应该是个十分钟就能搞定的标准操作。但接下来发生的事情却让我在电脑前折腾了整整三个小时。1. 漏洞复现的标准流程uWSGI作为高性能的Web服务器网关接口在2.0.17之前的PHP插件中存在路径校验缺陷。当攻击者使用URL编码的..%2f即../进行路径遍历时服务器不会正确校验DOCUMENT_ROOT边界导致可以读取系统任意文件。按照标准复现步骤启动Vulfocus提供的漏洞环境获取目标IP和端口测试基础漏洞存在性curl http://target_ip:port/..%2f..%2f/etc/passwd如果看到系统用户列表返回说明漏洞存在根据题目提示尝试获取/tmp/flagcurl http://target_ip:port/..%2f..%2f/tmp/flag前几步都顺利得出结果直到访问/tmp/flag时服务器返回了冰冷的404 Not Found。这不对劲——既然能读取/etc/passwd说明漏洞利用是成功的为什么找不到flag文件2. 问题排查的五个维度2.1 文件系统检查首先怀疑flag是否真的存在于/tmp目录。通过漏洞尝试列出/tmp内容curl http://target_ip:port/..%2f..%2f/tmp/返回结果依然是404。这引出了新的疑问是/tmp目录不可访问还是flag文件不存在排查技巧通过已知存在的文件验证漏洞有效性# 测试已知存在的系统文件 curl http://target_ip:port/..%2f..%2f/etc/hostname当这个请求成功返回主机名时确认漏洞利用本身没有问题。2.2 uWSGI日志分析大多数uWSGI配置会记录访问日志。尝试读取日志文件curl http://target_ip:port/..%2f..%2f/var/log/uwsgi/uwsgi.log在获得的日志中发现了关键线索WARNING: requested /tmp/flag not found (pid: 1234)这证实了服务器确实在处理/tmp/flag请求但文件不存在。2.3 权限问题验证考虑可能是权限问题导致无法访问/tmp。测试不同权限级别的文件文件路径访问结果可能原因/etc/passwd200 OK全局可读/root/.bash_history403 Forbidden权限不足/tmp404 Not Found路径不存在这个对比说明/tmp目录在容器中的表现异常不像普通的Linux系统。2.4 容器文件系统分析Vulfocus环境通常使用Docker容器。考虑容器特性检查/proc/mounts查看挂载点curl http://target_ip:port/..%2f..%2f/proc/mounts发现/tmp是tmpfs单独挂载检查Dockerfile构建历史如果可访问curl http://target_ip:port/..%2f..%2f/etc/hostname关键发现靶场可能在容器启动时动态生成flag而非放在/tmp。2.5 非典型路径尝试当标准路径失效时需要扩展思维检查Web根目录curl http://target_ip:port/..%2f..%2f/var/www/html/查找环境变量中的线索curl http://target_ip:port/..%2f..%2f/proc/self/environ尝试首页搜索功能如题目最终提示最终在/var/www/html/flag.txt找到了目标文件——原来出题人玩了个小花招。3. 漏洞环境的构建艺术这次经历让我思考靶场设计的几种常见模式标准漏洞验证型完全还原真实漏洞场景文件位置与公开文档一致适合教学基础漏洞原理CTF变种型在基础漏洞上增加解题元素可能隐藏文件、设置伪flag需要综合应用多种技术混合迷惑型部分符合标准漏洞特征关键步骤需要额外思考模拟真实攻防中的不确定性# 示例简单的flag生成脚本 import os import random flag FLAG{%s} % os.urandom(16).hex() with open(/var/www/html/flag.txt, w) as f: f.write(flag)4. 安全研究的思维工具箱这次翻车经历提炼出的方法论三层验证原则基础漏洞验证如读取/etc/passwd目标文件直接访问环境上下文分析五个排查方向文件是否存在stat是否有访问权限access路径是否符号链接readlink容器文件系统差异mount出题人意图非技术因素实用命令备忘目的Linux命令漏洞利用方式检查文件是否存在stat /pathcurl ..%2f..%2f/path查看目录内容ls -la /tmpcurl ..%2f..%2f/tmp/检查文件权限getfacl /path观察HTTP 403响应查看挂载点mount | grep tmp读取/proc/mounts检查环境变量env读取/proc/self/environ5. 从复现到实战的思维转换真实环境与靶场有三点关键差异信息不对称靶场通常提示漏洞类型真实环境需要先识别可能存在的漏洞环境复杂性靶场环境干净可控真实系统可能有多种防护措施目标不确定性靶场flag位置有迹可循真实渗透需要自己确定关键目标实战建议建立完整的检查清单记录每个步骤的结果和假设准备多种备选方案合理利用时间设置排查时限那次在Vulfocus上的翻车经历反而让我收获了比顺利复现更多的思考。现在每次看到CVE-2018-7490这个编号都会想起那个在容器里消失的flag以及它教给我的排查方法论。

相关文章:

从一次“翻车”的漏洞复现说起:记CVE-2018-7490中那个找不到的/tmp/flag

从一次“翻车”的漏洞复现说起:CVE-2018-7490排查实录 那天下午,我像往常一样打开Vulfocus靶场,准备复现uWSGI目录穿越漏洞(CVE-2018-7490)。这个漏洞在安全圈已经讨论多年,原理清晰明了——通过构造特殊的…...

Qwen3-0.6B-FP8部署教程:NVIDIA驱动兼容性检查、CUDA版本匹配与验证方法

Qwen3-0.6B-FP8部署教程:NVIDIA驱动兼容性检查、CUDA版本匹配与验证方法 想快速体验一个轻量级但能力不俗的大语言模型吗?Qwen3-0.6B-FP8就是一个绝佳的选择。它虽然体积小巧,但在推理、对话和指令遵循方面表现亮眼,特别适合个人…...

VideoAgentTrek Screen Filter 与传统图像处理库(如OpenCV)结合应用

VideoAgentTrek Screen Filter 与 OpenCV 结合应用:打造更智能的混合图像处理流水线 最近在做一个项目,需要从视频流里实时识别并处理特定的屏幕区域,比如监控摄像头拍到的电脑屏幕或者广告屏。一开始我直接用了 VideoAgentTrek Screen Filt…...

暗黑2存档编辑器实战宝典:d2s-editor深度评测与完全指南

暗黑2存档编辑器实战宝典:d2s-editor深度评测与完全指南 【免费下载链接】d2s-editor 项目地址: https://gitcode.com/gh_mirrors/d2/d2s-editor 作为一名暗黑破坏神2的忠实玩家,你是否曾为刷不到心仪的装备而苦恼?是否想尝试不同的b…...

3分钟搞定抖音批量下载:从零开始的高效内容采集实战指南

3分钟搞定抖音批量下载:从零开始的高效内容采集实战指南 【免费下载链接】douyin-downloader A practical Douyin downloader for both single-item and profile batch downloads, with progress display, retries, SQLite deduplication, and browser fallback sup…...

专业级ModBus主站工具:QModMaster的工业通信架构深度解析

专业级ModBus主站工具:QModMaster的工业通信架构深度解析 【免费下载链接】qModbusMaster Fork of QModMaster (https://sourceforge.net/p/qmodmaster/code/ci/default/tree/) 项目地址: https://gitcode.com/gh_mirrors/qm/qModbusMaster 在工业自动化领域…...

Onekey Steam Depot清单下载工具:技术原理与实战指南

Onekey Steam Depot清单下载工具:技术原理与实战指南 【免费下载链接】Onekey Onekey Steam Depot Manifest Downloader 项目地址: https://gitcode.com/gh_mirrors/one/Onekey Steam游戏清单获取不再是技术难题——Onekey工具通过自动化流程简化Depot清单下…...

从零搭建一个基于Vue的组件库(打包、发布、文档)

从零搭建一个基于Vue的组件库(打包、发布、文档) 在当今前端开发中,组件化已成为提升效率的关键。许多团队选择自建组件库以满足业务需求,但如何从零开始搭建一个完整的Vue组件库?本文将围绕打包、发布和文档三个核心…...

为什么你的游戏手柄需要这个神奇驱动?ViGEmBus让所有设备变专业控制器

为什么你的游戏手柄需要这个神奇驱动?ViGEmBus让所有设备变专业控制器 【免费下载链接】ViGEmBus Windows kernel-mode driver emulating well-known USB game controllers. 项目地址: https://gitcode.com/gh_mirrors/vi/ViGEmBus 想象一下,你心…...

Warehouse vs. Depot:从存储到转运的物流核心设施对比解析

1. 仓库与仓储站:物流世界的"冰箱"与"微波炉" 想象一下,你家的冰箱和微波炉有什么区别?冰箱适合长期保存食物,而微波炉则是快速加热的中转站。物流行业中的仓库(Warehouse)和仓储站&am…...

从零上手Cursor:AI编程助手的安装与核心功能实战

1. 为什么选择Cursor作为你的AI编程助手? 第一次听说Cursor时,我也和很多开发者一样持怀疑态度:市面上已经有这么多成熟的IDE,为什么还要再学一个新的?但当我真正开始使用后,发现它完全改变了我的编程方式…...

QKeyMapper:你的Windows按键魔法师,无需重启即可重塑输入体验

QKeyMapper:你的Windows按键魔法师,无需重启即可重塑输入体验 【免费下载链接】QKeyMapper [按键映射工具] QKeyMapper,Qt开发Win10&Win11可用,不修改注册表、不需重新启动系统,可立即生效和停止。支持游戏手柄映射…...

扣子(coze)进阶|利用Chat SDK定制企业级智能客服门户

1. 从基础集成到企业级定制:Chat SDK的进阶之路 很多开发者第一次接触扣子(Coze)的Chat SDK时,往往满足于简单的网页嵌入功能。但当我为某跨境电商平台完成智能客服系统升级后,才真正意识到这套工具的企业级潜力。想象一下:一个能…...

Unity 2023.2 项目升级C# 9.0?先看看这5个不支持的语法特性(附替代方案)

Unity 2023.2项目升级C# 9.0避坑指南:5个不支持的语法特性与实战解决方案 当你将Unity项目升级到2023.2版本,发现IDE智能提示中闪烁着诱人的C# 9.0新特性时,先别急着重构代码。上周我的团队就遭遇了这样的场景:在将大型项目迁移到…...

网盘直链下载助手技术解析:基于JavaScript的多平台API集成方案

网盘直链下载助手技术解析:基于JavaScript的多平台API集成方案 【免费下载链接】Online-disk-direct-link-download-assistant 一个基于 JavaScript 的网盘文件下载地址获取工具。基于【网盘直链下载助手】修改 ,支持 百度网盘 / 阿里云盘 / 中国移动云盘…...

终极指南:如何免费让明日方舟干员成为你的桌面伙伴

终极指南:如何免费让明日方舟干员成为你的桌面伙伴 【免费下载链接】Ark-Pets Arknights Desktop Pets | 明日方舟桌宠 (ArkPets) 项目地址: https://gitcode.com/gh_mirrors/ar/Ark-Pets 想让《明日方舟》中的干员突破次元壁,成为你工作学习时的…...

FanControl:告别风扇噪音困扰,Windows用户必备的智能散热管家

FanControl:告别风扇噪音困扰,Windows用户必备的智能散热管家 【免费下载链接】FanControl.Releases This is the release repository for Fan Control, a highly customizable fan controlling software for Windows. 项目地址: https://gitcode.com/…...

AppleRa1n终极指南:3步轻松绕过iOS 15-16设备激活锁

AppleRa1n终极指南:3步轻松绕过iOS 15-16设备激活锁 【免费下载链接】applera1n icloud bypass for ios 15-16 项目地址: https://gitcode.com/gh_mirrors/ap/applera1n 当你面对一台显示"此iPhone已与物主锁定"的iOS设备时,那种无力感…...

Unity ScrollRect自动滚动到底部,别再傻等下一帧了!Canvas.ForceUpdateCanvases()才是正解

Unity ScrollRect自动滚动到底部:Canvas.ForceUpdateCanvases()的深度解析与实践指南 在Unity UI开发中,动态列表的自动滚动到底部功能看似简单,却暗藏玄机。许多开发者都曾陷入这样的困境:明明按照文档设置了verticalNormalizedP…...

拆解mediasoup的通信骨架:从libuv封装到WebRTC服务器实战

拆解mediasoup的通信骨架:从libuv封装到WebRTC服务器实战 在构建现代实时通信系统时,底层通信框架的设计往往决定了整个系统的性能上限和扩展能力。mediasoup作为一款专为WebRTC优化的服务器框架,其核心通信层基于libuv的深度封装&#xff0c…...

终极Windows键盘重映射指南:用SharpKeys彻底解决误触烦恼

终极Windows键盘重映射指南:用SharpKeys彻底解决误触烦恼 【免费下载链接】sharpkeys SharpKeys is a utility that manages a Registry key that allows Windows to remap one key to any other key. 项目地址: https://gitcode.com/gh_mirrors/sh/sharpkeys …...

如何永久保存微信聊天记录?三步实现数据自主管理的完整指南

如何永久保存微信聊天记录?三步实现数据自主管理的完整指南 【免费下载链接】WeChatMsg 提取微信聊天记录,将其导出成HTML、Word、CSV文档永久保存,对聊天记录进行分析生成年度聊天报告 项目地址: https://gitcode.com/GitHub_Trending/we/…...

归并排序力扣题(leetcode)栽

1.概述在人工智能快速发展的今天,AI不再仅仅是回答问题的聊天机器人,而是正在演变为能够主动完成复杂任务的智能代理。OpenAI的Codex CLI就是这一趋势的典型代表——一个跨平台的本地软件代理,能够在用户的机器上安全高效地生成高质量的软件变…...

FairyGUI-GProgressBar实战:打造游戏资源加载进度条的多样化设计

1. FairyGUI进度条基础入门 游戏启动时的资源加载界面是玩家接触到的第一个视觉元素,一个设计精良的进度条不仅能提供清晰的加载反馈,还能提升整体用户体验。FairyGUI的GProgressBar组件就是为此而生的利器,它提供了丰富的自定义选项&#xf…...

Play Integrity API Checker:构建Android设备安全检测的架构解析与实践指南

Play Integrity API Checker:构建Android设备安全检测的架构解析与实践指南 【免费下载链接】play-integrity-checker-app Get info about your Device Integrity through the Play Intergrity API 项目地址: https://gitcode.com/gh_mirrors/pl/play-integrity-c…...

Qwen3.5-2B多场景落地:跨境电商独立站AI导购——图片询价+多语种应答

Qwen3.5-2B多场景落地:跨境电商独立站AI导购——图片询价多语种应答 1. 轻量化多模态模型简介 Qwen3.5-2B是通义千问系列中的轻量化多模态基础模型,仅20亿参数规模却具备强大的图文理解与生成能力。这个"小而美"的模型特别适合部署在资源受限…...

终极WindowResizer指南:三步掌握Windows窗口强制调整技巧

终极WindowResizer指南:三步掌握Windows窗口强制调整技巧 【免费下载链接】WindowResizer 一个可以强制调整应用程序窗口大小的工具 项目地址: https://gitcode.com/gh_mirrors/wi/WindowResizer 还在为那些顽固的Windows窗口尺寸限制而烦恼吗?Wi…...

YOLOv8蒸馏终极实战:v8x→v8n精度仅降1.5%,速度翻6倍,工业部署首选

一、引言 做工业部署的朋友一定都懂这种痛:YOLOv8x在测试集上mAP能到98%,但部署到Jetson Nano上只有5FPS,根本满足不了产线节拍;换成YOLOv8n,速度能到30FPS,但mAP直接掉到89%,漏检率超标。剪枝…...

Zotero茉莉花插件:中文文献管理神器,让你告别繁琐的手动录入

Zotero茉莉花插件:中文文献管理神器,让你告别繁琐的手动录入 【免费下载链接】jasminum A Zotero add-on to retrive CNKI meta data. 一个简单的Zotero 插件,用于识别中文元数据 项目地址: https://gitcode.com/gh_mirrors/ja/jasminum …...

新能源 / 智能驾驶常见面试题及答案汇总(2026 最新版)

从三电到端到端大模型,一文掌握新能源汽车行业面试通关密码 2026年春节后,中国新能源汽车行业迎来了史上最激烈的人才争夺战。智联招聘最新发布的《2026年新质生产力人才报告》显示,智能驾驶系统工程师岗位需供比已飙升至16:1,成为…...