经典Web容器解析漏洞

article/2025/11/4 3:56:45

目录

Apache 文件名解析漏洞(info.php.x 绕过)

IIS6.0解析漏洞

文件名解析漏洞(time.asp;1.jpg)

目录解析漏洞(1.asp/time.jpg)

PHP-CGI 解析漏洞(IIS 7.0(info.png/.php))

Nginx解析漏洞

1. 空字节漏洞(nginx/0.7.65)(/info.png%00.php)

2. 文件名逻辑漏洞-CVE-2013-4547(1.4.2)(info.png[0x20][0x00].php)


Apache 文件名解析漏洞(info.php.x 绕过)

Apache 解析文件的规则是从右到左开始判断解析,如果后缀名为不可识别文件解析,就再往左判断。比如 test.php.owf.rar “.owf”和”.rar” 这两种后缀是apache不可识别解析,apache就会把其解析成test.php。

漏洞形式

www.xxxx.xxx.com/test.php.xxx

该漏洞和apache版本和php版本无关,属于用户配置不当造成的解析漏洞,如果在 Apache 的 conf 里有这样一行配置 AddHandler php5-script .php 这时只要文件名里包含.php 即使文件名是 test2.php.jpg 也会以 php 来执行。

环境配置:

  • phpstudy2018, php-5.4.45
  • 打开 "phpStudy\PHPTutorial\Apache\conf\httpd.conf"文件,在任意位置增加如下一行
AddHandler php5-script .php  

然后重启phpstudy

以第upload-labs第四关为例,这个漏洞对绕过文件上传限制特别有用。将文件后缀名改为 info.php.x  时上传成功。如观察到响应包apache版本为2.2.25,存在解析漏洞

将后缀改为.x即可绕过

所以,我们可以也可以将上传的文件命名为 1.php.png,看起来像png的图片,实际上会当成php文件进行解析。

IIS6.0解析漏洞

文件名解析漏洞(time.asp;1.jpg)

       IIS 6.0 分号后面的不会被解析 。即 time.asp;1.jpg 当成了time.asp 文件执行。

       我们在网站wwwroot下建立文件夹 upload,在文件夹中建立文件 time.asp内容为 <%=time()%>  脚本执行时会显示时间,我们再建立一个内容相同的文件,time.asp;1.jpg。访问time.asp;1.jpg时发现它被执行了

它对我们的脚本进行了运行

目录解析漏洞(1.asp/time.jpg)

       IIS6.0 ,在网站下建立文件夹的名字为*.asp、*.asa、*.cer、*.cdx 的文件夹,那么其目录内的任何扩展名的文件都会被IIS当做asp文件来解释并执行。例如创建目录 1.asp,那么 1.asp下面的文件time.jpg 将被当做asp文件来执行

PHP-CGI 解析漏洞(IIS 7.0(info.png/.php))

这不是属于iis的漏洞是属于 CGI的漏洞,info.png/.php  ,在访问的文件名后加上/.php时能够执行。如当我们访问 info.png/.php 时竟然就可以解析了

Nginx解析漏洞

1. 空字节漏洞(nginx/0.7.65)(/info.png%00.php)

/info.png%00.php

1. 影响版本

  •  0.5 <= 版本 <= 0.7.65
  •  0.8 <= 0.8.37

2. 文件名逻辑漏洞-CVE-2013-4547(1.4.2)(info.png[0x20][0x00].php)

这个可以利用vulhub进行复现

访问路径info.png[0x20][0x00].php 即可以进行解析


http://chatgpt.dhexx.cn/article/gdrDbhgc.shtml

相关文章

web容器解析

目录&#xff1a; 简述web服务器功能web服务器的限制辅助应用servletweb容器的作用web容器和web服务器的区别和联系 一、简述web服务器功能。 web服务器主要作用是处理客户请求&#xff0c;并作出响应。当浏览器发送一个HTTP请求到web服务器&#xff0c;web服务器解析请求&am…

web容器

目录 前言1、 Web容器简介1.1 Web容器的定义 2、 Web容器的作用2.1 概念区分2.1.1 架构 & 框架2.1.2 Web服务器&#xff08;Web Server&#xff09;2.1.3 中间件&#xff08;Middleware&#xff09; 2.2 Web容器与Spring、Web应用等的关系2.3 Web容器在web开发中的作用 3、…

Web容器(一):Web容器简介

本文参照&#xff1a;极客时间-《深入拆解 Tomcat & Jetty》-开篇词 | Java程序员如何快速成长 01_Web容器学习路径 Web容器 Web技术的发展史 早期的Web应用主要用于浏览新闻等静态页面&#xff0c;HTTP服务器&#xff08;比如Apache、Nginx&#xff09;向浏览器返回静…

MyBatis分页及分页插件使用

7.分页 7.1 作用 减少数据处理量&#xff0c;一次数据量太大了对数据库和网络压力太大 SELECT * FROM school.user LIMIT startIndex,pageSize SELECT * FROM school.user LIMIT 2 -- 0,2 SELECT * FROM school.user LIMIT 2,2 -- startIndex从0开始使用mybatis实现分页步骤…

mybatis-plus 分页插件

目录 1 前言 2 配置分页插件 2.1 selectPage()测试 2.2 自定义分页功能 1 前言 大家之前肯定都用过PageHelper来进行分页&#xff0c;其实mybatisplus中也提供了一个分页插件PaginationInnerInterceptor&#xff0c;其实分页的本质就是内部封装了一个拦截器&#xff0c;对…

springboot使用分页插件

业务逻辑&#xff1a;我想要实现对必备材料信息列表的分页展示&#xff0c;包括查询后的信息也要分页展示 效果图 解决思路&#xff1a; 首先实体类用来接收数据&#xff0c;有一个Dao类用来进行sql查询&#xff0c;有一个servcie(需要传pageNum,PageSiz)&#xff0c;serviceIm…

Mybatis-分页插件

目录 引入介绍 回顾MySQL的limit实现简易分页 问题的产生与解决 分页插件实现步骤 实例演示 分页插件相关参数 实例演示 引入介绍 分页可以将很多条结果进行分页显示如果当前在第一页&#xff0c;则没有上一页如果当前在最后一页&#xff0c;则没有下一页需要明确当前是第几页…

BootStrap分页插件

BootStrap分页插件 官网 官方网址&#xff1a;https://labs.pontikis.net/bs_pagination/docs/ 怎么使用 引入插件所需要的资源文件 <link href"jquery/bootstrap_3.3.0/css/bootstrap.min.css" type"text/css" rel"stylesheet" /> &l…

MyBatis分页插件

目录 分页插件 Mybatis插件典型适用场景 实现思考 第一个问题 第二个问题 自定义分页插件 分页插件使用 添加pom依赖 插件注册 调用 代理和拦截是怎么实现的 PageHelper 原理 分页插件 MyBatis 通过提供插件机制&#xff0c;让我们可以根据自己的需要去增强MyBati…

分页利器——pageHelper分页插件

pageHelper插件在分页上有哪些优势&#xff1f; 分页插件给我们封装了很多参数&#xff0c;不用我们再去硬性编码获取各种参数。 pageHelper封装参数如下&#xff0c;这个参数封装在com.github.pagehelper.page中&#xff1a; count&#xff1a;是否进行count查询&#xff0c;…

分页插件--PageHelper

mybatis的分页查询可以通过PageHelper插件实现 在数据库中我们使用分页查询的sql语句为&#xff1a; select * from 表名 [where 条件] limit (page-1)*pageSize, pageSize; page: 当前页码 pageSize: 每页显示的条数。但是当我们使用PageHelper插件后页码什么的都不用我们计算…

分页插件

10-分页插件-分页插件的介绍 分页可以将很多条结果进行分页显示。如果当前在第一页&#xff0c;则没有上一页。如果当前在最后一页&#xff0c;则没有下一页。需要明确当前是第几页&#xff0c;这一页中显示多少条结果。MyBatis分页插件总结 在企业级开发中&#xff0c;分页也是…

MyBatis-Plus 插件篇 >分页插件

目标&#xff1a; 懂得使用 Mybatis-Plus 进行分页查询 实现步骤&#xff1a; 1、编写分页插件 2、测试分页功能 一、分页插件PaginationInnerInterceptor MyBatis-Plus 的分页实现还是使用的动态拼接Limit分页 二、测试用例 1、编写分页插件 /*分页插件*/Beanpublic Pagi…

分页插件 - PageHelper的介绍和使用

PageHelper介绍 PageHelper是国内非常优秀的一款开源的mybatis分页插件&#xff0c;它支持基本主流与常用的数据库&#xff0c;例如mysql、 oracle、mariaDB、DB2、SQLite、Hsqldb等。 PageHelper使用 引入分页插件有下面两种方式&#xff1a; ① 引入jar包&#xff0c;以下…

[一起学习pytorch吧]之torch.sign函数

Hello&#xff0c;大家好&#xff01;今天为大家讲解以下pytorch的sign函数。 torch.sign(input, outNone) → Tensor 该函数的作用就是输出input通过sign函数后的张量&#xff0c;其中sign函数就是符号函数&#xff0c;如下图所示。 例子&#xff1a; >>> a torch…

Python】Numpy库之符号函数sign()的介绍及用法

1、sign()函数功能介绍 sign()是Python的Numpy中的取数字符号&#xff08;数字前的正负号&#xff09;的函数。 2、sign()函数用法代码演示 import numpy as np dataArr [-0.2, -1.1, 0, 2.3, 4.5, 0.0] print(“输入数据为&#xff1a;”) print(dataArr) signResult np.sig…

Oracle Decode 函数用法 Count函数条件统计 Sign 函数用法 Case When 函数

Oracle Decode 函数用法 Count函数条件统计 Sign 函数用法 Case When 函数 一、概述 1、本文系统的整理了&#xff0c;Oracle中常见的几个函数用法&#xff0c;都是涉及到条件判断分支类的相关函数&#xff0c;分别是 CASE ..WHEN ; DECODE , SIGN 。 2、假设有一张表Student &…

matlab中sign函数的使用(提取符号)

仅用于记录自己学习过程中遇到的函数 matlab中sign函数的使用&#xff0c;提取符号 一、语法 Y sign(x) 返回与 x 大小相同的数组 Y&#xff0c;其中 Y 的每个元素是&#xff1a; 1&#xff0c;前提是 x 的对应元素大于 0。 0&#xff0c;前提是 x 的对应元素等于 0。 -1&am…

R语言使用符号函数计算数据的正负特性、sign函数计算数据的正负符号返回0、1、-1

R语言使用符号函数计算数据的正负特性、sign函数计算数据的正负符号返回0、1、-1 目录 R语言使用符号函数计算数据的正负特性、sign函数计算数据的正负符号返回0、1、-1 R 语言特点 R语言使用符号函数计算数据的正负特性、sign函数计算数据的正负符号返回0、1、-1 R可以在CR…

c语言中sign的用法,Excel教程中sign函数用法和实例详解

第一&#xff0c;sign函数用法说明 excel教程中sign函数用于返回数字的符号。正数为1&#xff0c;零为0&#xff0c;负数为-1。 sign函数语法&#xff1a;SIGN(number) SIGN符号函数(一般用sign(x)表示)是很有用的一类函数&#xff0c;其功能是取某个数的符号(正负零)&#xff…