Web后端服务平台解析漏洞与修复、文件包含漏洞详解

devtools/2024/9/23 4:18:09/

免责申明

        本文仅是用于学习检测自己搭建的Web后端服务平台解析漏洞、文件包含漏洞的相关原理,请勿用在非法途径上,若将其用于非法目的,所造成的一切后果由您自行承担,产生的一切风险和后果与笔者无关;本文开始前请认真详细学习《‌中华人民共和国网络安全法》‌及其所在国家地区相关法规内容【学法时习之丨网络安全在身边一图了解网络安全法_中央网络安全和信息化委员会办公室】 如您继续阅读该文章即表明您默认遵守该内容。

一、Web后端服务平台解析漏洞和修复

        Web网站的运行一般需要后端的服务器平台提供服务解析服务,常见的服务器平台有Apache、Nginx、IIS,而同一服务器下不同版本的服务平台又有不同的解析漏洞。

1.1、Apache解析漏洞

1.1.1、Apache解析漏洞的两种形式

        1、Apache典型解析漏洞原理:Apache解析文件的规则是从右到左开始判断解析,若文件后缀名为其不可识别的解析类型,就会向左移动判断(如:testck.php.hwk.rar文件其中【hwk】和【rar】 这两种后缀是Apache不可识别解析的文件类型,Apache就会把testck.php.hwk.rar解析成testck.php文件)。【该漏洞常见于Apache2.2及其之前的版本】

# Apache解析漏洞典型
http://xxx.xxx.com/testck.php.Apache不可解析的文件类型# 示例
http://xxx.xxx.com/testck.php.php123
http://xxx.xxx.com/testck.php.hwk
http://xxx.xxx.com/testck.php.ck

        2、 用户操作配置问题导致的解析漏洞(该漏洞是由于用户或运维人员配置操作引起的,可以避免掉):

《1》修改并启用了Apache的【httpd.conf】配置文件的【 AddHandler php5-script 】内容,并添加了其他类型如(.ck .jpg .pdf)类型,那么只要文件名里包含.php 即使文件名是 test.php.ck也会以 php 的方式来执行。

《2》修改并启用了Apache的【httpd.conf】配置文件的【AddType application/x-httpd-php .php .phtml】内容,并添加了其他的类型如(.jpg .php3 .php5)类型,那么这些类型的文件都可以被打开且以php的方式进行执行,如下图所示:

 1.1.2、Apache解析漏洞的修复方法

        《1》通过了解Apache的漏洞原理我们可以知道,造成的漏洞都是由于文件名包含【.php.】引起的,那么我们可以将这种类型禁止掉即可。

# 禁止掉Apache可以解析.php.或.php3.或.php5.文件内容配置命令:
<Files ~ ".(php.|php3.|php5.)">Order Allow,DenyDeny from all
</Files>

 

        《2》用伪静态能解决这个漏洞,重写类似.php.*这类文件,打开Apache的httpd.conf配置文件并找到【LoadModule rewrite_module modules/mod_rewrite.so】把#号去掉后重启Apache;然后在网站根目录下创建名为【.htaccess】的文件。

在网站根目录下创建名为【.htaccess】的文件内容如下:

<IfModule mod_rewrite.c>RewriteEngine OnRewriteRule .(php.|php3.|php5.) /index.phpRewriteRule .(pHp.|pHp3.|php5.) /index.phpRewriteRule .(phP.|phP3.|php5.) /index.phpRewriteRule .(Php.|Php3.|php5.) /index.phpRewriteRule .(PHp.|PHp3.|php5.) /index.phpRewriteRule .(PhP.|PhP3.|php5.) /index.phpRewriteRule .(pHP.|pHP3.|php5.) /index.phpRewriteRule .(PHP.|PHP3.|php5.) /index.php
</IfModule>

1.2、Nginx解析漏洞

1.2.1、Nginx解析漏洞形式

        《1》PHP的配置文件【php.ini】是默认启用【cgi.fix_pathinfo】配置(该配置是修复路径信息内容的)【cgi.fix_pathinfo】配置为1表示启用,0表示禁用该Nginx的解析漏洞是由于用户或运维人员配置不当引起的,与Nginx和PHP的版本无关】(该漏洞原理是:我们的服务器被上传了【test.jpg】的木马,正常我们访问test.jpg路径为【http://192.168.3.176/pikachu/test.jpg】,若我们要想将test.jpg当做php执行就可以修改路径为【http://192.168.3.176/pikachu/test.jpg/xx.php】,此处我们构造的这个xx.php文件在服务器上是不存在的。而我们的服务器PHP开启了【cgi.fix_pathinfo】配置,此时PHP的解释器处理在处理这个路径的时候,发现没有xx.php这个文件,此时就会找路径中上一层路径的文件作为xx.php来运行,于是就找到了test.jpg,将test.jpg当作xx.php来运行了)效果如下:


http://www.ppmy.cn/devtools/115805.html

相关文章

最长上升子序列

给定一个长度为 NN 的数列&#xff0c;求数值严格单调递增的子序列的长度最长是多少。 输入格式 第一行包含整数 NN。 第二行包含 NN 个整数&#xff0c;表示完整序列。 输出格式 输出一个整数&#xff0c;表示最大长度。 数据范围 1≤N≤10001≤N≤1000&#xff0c; −…

基于深度学习的因果推理与决策

基于深度学习的因果推理与决策是一个将因果推理理论与深度学习技术结合&#xff0c;旨在从数据中学习因果关系并基于此做出最优决策的领域。因果推理不仅关注变量之间的相关性&#xff0c;还侧重于发现变量之间的因果关系&#xff0c;而这些因果关系是决策系统做出有效决策的关…

React18入门教程

React介绍 React由Meta公司开发&#xff0c;是一个用于 构建Web和原生交互界面的库 React的优势 相较于传统基于DOM开发的优势 组件化的开发方式 不错的性能 相较于其它前端框架的优势 丰富的生态 跨平台支持 React的市场情况 全球最流行&#xff0c;大厂必备 开发环境…

9.20日学习记录及相关问题解答

部分一 今天看了一本古老的书。学到了一些有关计算机的远古的知识。弥补了一些之前没有意识到的空白点。 原来上个世纪就有AI这个东西了 现阶段的主流模式&#xff0c;在许多年前其实是将来要发展的对象。 B/S指的是客户机/服务器结构模式 C/S是在B/S基础上发展过来的。三层结…

ShouldSniffAttr解说

ShouldSniffAttr 这个名字听起来像是一个函数或方法&#xff0c;它可能用于决定是否对某个属性进行嗅探&#xff08;sniffing&#xff09;。 在编程中&#xff0c;“嗅探”通常指的是检测或分析数据以确定其类型、格式或内容。然而&#xff0c;由于这不是一个通用的编程术语或…

小程序开发设计-第一个小程序:创建小程序项目④

上一篇文章导航&#xff1a; 小程序开发设计-第一个小程序&#xff1a;安装开发者工具③-CSDN博客https://blog.csdn.net/qq_60872637/article/details/142219152?spm1001.2014.3001.5501 须知&#xff1a;注&#xff1a;不同版本选项有所不同&#xff0c;并无大碍。 一、创…

了解云容器实例云容器实例(Cloud Container Instance)

1.什么是云容器实例&#xff1f; 云容器实例&#xff08;Cloud Container Instance&#xff0c; CCI&#xff09;服务提供 Serverless Container&#xff08;无服务器容器&#xff09;引擎&#xff0c;让您无需创建和管理服务器集群即可直接运行容器。 Serverless是一种架构理念…

如何在Linux Centos7系统中挂载群晖共享文件夹

前景&#xff1a;企业信息化各种系统需要上传很多的图片或者是文件&#xff0c;文件如何在群晖中显示&#xff0c;当文件或者图片上传到linux指定文件夹内&#xff0c;而文件夹又与群晖共享文件夹进行挂载&#xff0c;就能保证上传的文件或者图片出现在群晖并在群晖里进行管理。…