【文件解析漏洞】实战详解!
漏洞描述:
文件解析漏洞是由于中间件错误的将任意格式的文件解析成网页可执行文件,配合文件上传漏洞进行GetShell的漏洞!
IIS解析漏洞:
IIS6.X:
方式一:目录解析
在网站下建立文件夹的名字为.asp/.asa 的文件夹,其目录内的任何扩展名的文件都被I1S当作asp文件来解析并执行。

方式二:畸形文件解析
在IIS 6处理文件解析时,分号可以起到截断的效果。也就是说 shel.asp;.jpg会被服务器看成是shell.asp。另外IS6.0默认的可执行文件除了asp还包含 asa\cer\cdx
----------------------------------------------
lIS7.X
在IlS7.0和IlS7.5版本下也存在解析漏洞,在默认Fast-CGI开启状况下,在一个文件路径/xx.jpg后面加上/xx.php会将/xx.jpg/xx.php 解析为 php 文件。
利用条件
php.ini里的cgi.fix_pathinfo=1 开启
IIS7在Fast-CGl运行模式下
环境配置
在Windows Server 2008R2中安装IS后在安装PHPstudy for liS..
配置 php.ini 文件,将cgi.fix_pathinfo=1 取消掉...并重启.….
lIS --》 配置网站--》 处理程序映射--》 PHPStudy_FastCGl --》 请求限制 --》取消勾选
利用姿势 .
在www目录下创建1.jpg

浏览器访问:
GetShell :
将PHP一句话木马写到shell.php并更改后缀为shell.jpg上传到目标站点..利用解析漏洞进行访问...
http://192.168.4.xxx/shell.jpg/.php
浏览器访问进行木马连接
在菜刀2014中添加Shell并链接..蚁剑不能行 
连接成功
-----------------------------------------------
Nginx解析漏洞
这个解析漏洞其实是PHP CGI的漏洞,在PHP的配置文件中有一个关键的选项cgi.fix_pathinfo默认是开启的,当URL中有不存在的文件,PHP就会向前递归解析。在一个文件/xx.jpg后面加上/.php会将/xx.jpg/xx.php 解析为 php 文件。
利用姿势
Nginx的文件解析漏洞..和S7.0的解析漏洞同样的原理,因为 cgi.fix_pathinfo=1 造成的解析漏洞...PS:同样使用1.jpg/.php方式进行绕过.
步骤一:进入以下Vulhub路径并开启容器..
上传一个jpg文件 用文件头绕过

访问以下路径,利用Nginx解析漏洞...

CVE-2013-4547
此漏洞为文件名逻辑漏洞,该漏洞在上传图片时,修改其16进制编码可使其绕过策略,导致解析为php。当Nginx得到一个用户请求时,首先对url进行解析,进行正则匹配,如果匹配到以.php后缀结尾的文件名,会将请求的PHP文件交给PHP-CGI去解析。
影响版本
Nginx 0.8.41 ~ 1.4.3 / 1.5.0 ~ 1.5.7
利用姿势
步骤一:进入以下Vulhub路径并开启容器..
上传一个php文件看看 
不让上传试试jpg抓包

在jpg后面加上两个空格.php再将hex的第二个空格改为%00 
然后放包上传成功 
访问upload路径再次进行抓包
把%20改为空格 把hex第二个空格改为%00
放包访问成功
--------------------------------------------
Apache解析漏洞
漏洞原理:
Apache HTTPD 支持一个文件拥有多个后缀,并为不同后缀执行不同的指令。比如如下配置文件:
AddType text/html .html
AddLanguage zh-CN .cn
那么,在有多个后缀的情况下,只要一个文件含有.php 后缀的文件即将被识别成PHP文件,没必要是最后一个后缀。利用这个特性,将会造成一个可以绕过上传白名单的解析漏洞。
利用姿势:
步骤一:进入以下Vulhub路径并开启容器..
上传一个php.jpg文件 
上传成功访问upload地址-----访问成功
-----------------------------------
CVE-2017-15715
Apache HTTPD是一款HTTP服务器,它可以通过mod_php来运行PHP网页。其2.4.0~2.4.29版本中存在一个解析漏洞,在解析PHP时,1.php\x0A将被按照PHP后缀进行解析,导致绕过一些服务器的安全策略。
影响版本:2.4.0~2.4.29
利用姿势:
步骤一:进入Vulhub靶场并开启目标靶机,进行访问.
上传php文件并进行抓包
访问上传的evil文件在后面加上 %0a 再访问发现解析了其中的PHP代码,但后不是php说明
存在解析漏洞
将hex的20改为0a
放包上传成功(访问成功)
相关文章:
【文件解析漏洞】实战详解!
漏洞描述: 文件解析漏洞是由于中间件错误的将任意格式的文件解析成网页可执行文件,配合文件上传漏洞进行GetShell的漏洞! IIS解析漏洞: IIS6.X: 方式一:目录解析 在网站下建立文件夹的名字为.asp/.asa 的文件夹,其目…...
【杂谈】学会让你节省三秒钟——Dev-c++的缺省源
【杂谈】学会让你节省三秒钟——Dev-c的缺省源 1.前言2.缺省源的介绍3.注意 1.前言 你是否在为每次写程序都要自己手打一遍框架而感到苦恼?为什么大佬的Dev-C一新建文件就会自动出现程序框架?看完这篇文章,让你也能成为大佬,不用再…...
推荐一款前端滑动验证码插件(Vue、uniapp)
uniapp版本:滑块拼图验证码,有后端,简单几步即可实现,小程序、h5都可以用 - DCloud 插件市场 Vue版本及cdn版本可以查阅文档: 行为验证 | Poster 文档 示例代码: <template><view id"app&…...
【Git】git stash
目录 基本概念参数详解listshowsavepushpop|applydropclearbranch 参考文章 Git的stash命令是一个非常实用的功能,它允许开发者临时保存工作目录和暂存区的更改,以便能够切换到其他分支或进行其他操作,而不会丢失当前的修改。以下是git stash…...
不得不安利的程序员开发神器,太赞了!!
作为一名程序员,你是否常常为繁琐的后端服务而感到头疼?是否希望有一种工具可以帮你简化开发流程,让你专注于创意和功能开发?今天,我要向大家隆重推荐一款绝佳的开发神器——MemFire Cloud。它专为懒人开发者准备&…...
吴恩达机器学习C1W2Lab06-使用Scikit-Learn进行线性回归
前言 有一个开源的、商业上可用的机器学习工具包,叫做scikit-learn。这个工具包包含了你将在本课程中使用的许多算法的实现。 目标 在本实验室你可以: 利用scikit-learn实现基于正态方程的近似解线性回归 工具 您将使用scikit-learn中的函数以及ma…...
CSS实现表格无限轮播
<div className{styles.tableTh}><div className{styles.thItem} style{{ width: 40% }}>报警名称</div><div className{styles.thItem} style{{ width: 35% }}>开始时间</div><div className{styles.thItem} style{{ width: 25% }}>状态&…...
编程小白如何从迷茫走出
针对新生们常常感到的迷茫,以下是如何选择适合自己的编程语言、如何制定有效的学习计划以及如何避免常见的学习陷阱的详细建议: 一、如何选择适合自己的编程语言 明确需求和目标:不同的编程语言有不同的特点和适用场景。例如,Py…...
14 B端产品的运营管理
通过运营找到需求并通过交换价值提供供给,再逐步扩大规模、站稳脚跟,辅助产品在商业竞争中获胜。 B端产品运营框架 1. 打通渠道 目的:触达客户。 环节:文案策划、活动策划→广告渠道推广→线下BD。 线下BD:通过见面…...
STM32_RTOS学习笔记——1(列表与列表项)
总体RTOS笔记目录 一,列表与列表项(本文) 二,待定 视频参考:B站野火 一,C语言列表概念 列表就是C语言中的链表,链表就如同下面的衣架一样,需要的各种内容可以参考 C语言链表可…...
子网划分案例
划分子网是将一个较大的网络划分为多个较小的子网,以提高网络管理和安全性 子网划分可以更有效地利用 IP 地址空间,并且有助于控制网络流量、提高网络性能和安全性。 子网划分的主要步骤如下: 确定需要划分的子网数量以及每个子网所需的主…...
javaweb_02:Maven
一、引入 在javaweb的开发中,需要使用大量的jar包,我们得手动去导入,而Maven可以自动帮我们导入和配置这个jar包。 二、Maven项目框架管理工具 核心思想:约定大于配置(有约束不违反):Maven会…...
19.延迟队列优化
问题 前面所讲的延迟队列有一个不足之处,比如现在有一个需求需要延迟半个小时的消息,那么就只有添加一个新的队列。那就意味着,每新增一个不同时间需求,就会新创建一个队列。 解决方案 应该讲消息的时间不要跟队列绑定…...
P10477 Subway tree systems 题解,c++ 树相关题目
题目 poj 链接 洛谷链接 n n n 组数据,每组数据给定两个 01 01 01 串(长度不超过 3000 3000 3000),意思如下: 对于每一个 0 0 0,代表该节点有一个子节点,并前往该子节点。对于每一个 1 1 …...
18.jdk源码阅读之CopyOnWriteArrayList
1. 写在前面 CopyOnWriteArrayList 是 Java 中的一种线程安全的 List 实现,基于“写时复制”(Copy-On-Write)机制。下面几个问题大家可以先思考下,在阅读源码的过程中都会解答: CopyOnWriteArrayList 适用于哪些场景…...
美股:AMD展现乐观前景,挑战AI加速器市场霸主
在科技行业的激烈竞争中,AMD公司近期发布了对当前季度收入的乐观预测,显示出其新推出 一、AMD第三季度营收预期超越分析师平均预期 AMD在周二的声明中预计,第三季度营收将达到约67亿美元,这一数字超出了分析师此前平均预期的66.…...
如何提高计算机视觉技术在复杂环境和低光照条件下的物体识别准确率?
要在复杂环境和低光照条件下提高计算机视觉技术的物体识别准确率,可以采取以下几个方法: 数据增强:在训练集中添加各种复杂环境和低光照条件下的图片,通过增加数据的多样性,使算法能够更好地适应各种场景。 预处理&am…...
ubuntu cmake使用自己版本的qt
给一篇文章参考 https://blog.csdn.net/bank_dreamer/article/details/138678909 自己使用的范例 set(Qt5_DIR "/home/peak/Qt5.14.0/5.14.0/gcc_64/lib/cmake/Qt5")# 设置Qt5的安装目录 #set(CMAKE_PREFIX_PATH "/home/peak/Qt5.14.0")find_package(Qt5…...
Python基础知识笔记---保留字
保留字,也称关键字,是指被编程语言内部定义并保留使用的标识符。 一、保留字概览 二、保留字用途 1. False:表示布尔值假。 2. None:表示空值或无值。 3. True:表示布尔值真。 4. not:布尔逻辑操作符…...
Python面试整理-Web开发
在Python中,Web开发可以利用多种强大的框架和库来构建从简单的静态网页到复杂的动态Web应用。以下是几种流行的Python Web开发框架和相关技术的概述: 1. Flask Flask 是一个轻量级的Web应用框架,它非常灵活,适用于小型到中型项目,或作为构建微服务的基础。Flask的核心非常…...
创业公司如何借助 Taotoken 的多模型聚合能力快速验证产品 AI 功能
🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 创业公司如何借助 Taotoken 的多模型聚合能力快速验证产品 AI 功能 对于资源有限的创业团队而言,在产品早期快速验证核…...
外泌体检测推荐公司
外泌体检测推荐公司 核心优势:外泌体领域一站式技术龙头,搭建从外泌体提取、鉴定到分子检测的完整技术体系,可提供包括样本处理、分离纯化、表征分析、核酸 / 蛋白标志物检测等全链条科研服务,实验体系成熟、整合度高、交付顺畅。…...
RNA-seq公司推荐
RNA-seq公司推荐 伯远生物是国内高通量测序综合性服务商,聚焦RNA-seq全场景服务,覆盖临床、科研、农业等领域,提供一站式测序与分析解决方案; 其临床转化与大样本服务市占率领先,依托自研平台实现高通量、成本可控&…...
数字孪生 · 零基础4周速成学习计划(书籍+实操+项目落地)
适合:零基础、物联网专业、想转行数字孪生、做项目、毕设、求职学习搭配:理论书籍 软件实操 协议打通 完整Demo项目第一周:建立体系(看懂数字孪生到底是什么)📚 阅读书籍:《数字孪生及车间实…...
AI时代,那些还在知乎认真回答问题的人
文/窦文雪编辑/李乐2023年5月1日,德里克文坐在电脑前,终于决定发出一些东西。那一天对他来说,更像是某种迟到多年的开场。此前十多年,他一直是知乎上一个安静的旁观者。很多时候,他躲在页面背后,看各个领域…...
如何用Python快速接入Taotoken平台调用多款大模型
🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 如何用Python快速接入Taotoken平台调用多款大模型 对于希望便捷使用多种大语言模型的开发者而言,逐一对接不同厂商的AP…...
避坑!STM32CubeIDE偏好设置改了回不去?这份备份与恢复攻略请收好
STM32CubeIDE配置管理实战:从个人备份到团队协作的最佳实践 引言 当你花了整个下午精心调整STM32CubeIDE的代码配色方案,却发现某个关键语法高亮突然失效;当团队新成员反复询问如何统一代码格式化规则;当更换电脑后不得不重新配置…...
GHelper:华硕笔记本终极性能优化解决方案
GHelper:华硕笔记本终极性能优化解决方案 【免费下载链接】g-helper Lightweight Armoury Crate alternative for Asus laptops with nearly the same functionality. Works with ROG Zephyrus, Flow, TUF, Strix, Scar, ProArt, Vivobook, Zenbook, Expertbook, RO…...
淘宝淘金币自动化脚本终极指南:每天节省25分钟的高效神器
淘宝淘金币自动化脚本终极指南:每天节省25分钟的高效神器 【免费下载链接】taojinbi 淘宝淘金币自动执行脚本,包含蚂蚁森林收取能量,芭芭农场全任务,解放你的双手 项目地址: https://gitcode.com/gh_mirrors/ta/taojinbi 在…...
【Python range() 函数详解】
文章目录Python range() 函数详解 ✨什么是range()函数? 🤔range()的参数和用法 📊单参数形式:range(stop)双参数形式:range(start, stop)三参数形式:range(start, stop, step)range()对象的特点 …...
