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

免责申明

        本文仅是用于学习检测自己搭建的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.xdnf.cn/news/144665.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

将有序数组——>二叉搜索树

给你一个整数数组 nums &#xff0c;其中元素已经按 升序 排列&#xff0c;请你将其转换为一棵平衡二叉搜索树。 示例 1&#xff1a; 输入&#xff1a;nums [-10,-3,0,5,9] 输出&#xff1a;[0,-3,9,-10,null,5] 解释&#xff1a;[0,-10,5,null,-3,null,9] 也将被视为正确答案…

PyRFC 适用于 Python 的异步、非阻塞 SAP NetWeaver RFC SDK 绑定

Asynchronous, non-blocking SAP NetWeaver RFC SDK bindings for Python. 适用于 Python 的异步、非阻塞 SAP NetWeaver RFC SDK 绑定 Call for Maintainers This project is currently looking for new maintainers. Please see this issue for details. Features Client …

A review on rumour prediction and veracity assessment in online social network

ABSTRACT 在当今时代&#xff0c;社交网络被用作分享个人思想和观点的重要媒介。其背后的主要原因是&#xff0c;它可以轻松地在公众中快速传播信息&#xff0c;并且访问成本非常低。这导致在线社交媒体成为鼓励虚假内容并影响公众舆论及其决策的垫脚石之一。谣言是社交媒体上误…

论文速递!时序预测!DCSDNet:双卷积季节性分解网络,应用于天然气消费预测过程

本期推文将介绍一种新的时序预测方法:双卷积季节性分解网络&#xff08;Dual Convolution withSeasonal Decomposition Network, DCSDNet&#xff09;在天然气消费预测的应用&#xff0c;这项研究发表于《Applied Energy》期刊。 针对天然气消费的多重季节性和非规律性&#x…

木牛科技PMO总监关沨受邀为第四届中国项目经理大会演讲嘉宾

全国项目经理专业人士年度盛会 北京木牛领航科技有限公司PMO总监关沨女士受邀为PMO评论主办的全国项目经理专业人士年度盛会——2024第四届中国项目经理大会演讲嘉宾&#xff0c;演讲议题为“如何培养能打胜仗的项目经理”。大会将于10月26-27日在北京举办&#xff0c;主题为&a…

Android插件化(三)基础之Android应用程序资源的编译和打包过程分析

Android插件化(三)基础之Android应用程序资源的编译和打包过程分析 Android资源加载常规思路 getResourcesForApplication //首先&#xff0c;通过包名获取该包名的Resources对象 Resources res pm.getResourcesForApplication(packageName); //根据约定好的名字&#xff0c…

C++日期类,详细!!!

日期类的练习可以巩固提高之前所学习的知识&#xff0c;还可以完成关于的日期练习 下面是关于日期的对应oj题 KY111 日期差值 计算一年的第几天 累加天数 1.Date.h 头文件部分 看看我们要实现那些接口 1.获取对应月份的天数:GetMonthDay 2. < > …

leetcode41. 缺失的第一个正数,原地哈希表

leetcode41. 缺失的第一个正数 给你一个未排序的整数数组 nums &#xff0c;请你找出其中没有出现的最小的正整数。 请你实现时间复杂度为 O(n) 并且只使用常数级别额外空间的解决方案。 示例 1&#xff1a; 输入&#xff1a;nums [1,2,0] 输出&#xff1a;3 解释&#xf…

计算机三级网络技术总结(五)

HTTP端口号为80 三平台一出口&#xff1a;网络平台、业务平台、管理平台和城市宽带出口IEEE802.16最高传输速率为134Mbps链路状态数据库中保存的是全网的拓扑结构图&#xff0c;而非全网完整的路由表在无线局域网中&#xff0c;客户端设备用来访问接入点&#xff08;AP&#xf…

GUI编程17:下拉框、列表框

视频链接&#xff1a;19、下拉框、列表框_哔哩哔哩_bilibilihttps://www.bilibili.com/video/BV1DJ411B75F?p19&vd_sourceb5775c3a4ea16a5306db9c7c1c1486b5 1.下拉框 代码示例 package com.yundait.lesson06;import javax.swing.*; import java.awt.*;public class Te…

计算机毕业设计 教师科研信息管理系统的设计与实现 Java实战项目 附源码+文档+视频讲解

博主介绍&#xff1a;✌从事软件开发10年之余&#xff0c;专注于Java技术领域、Python人工智能及数据挖掘、小程序项目开发和Android项目开发等。CSDN、掘金、华为云、InfoQ、阿里云等平台优质作者✌ &#x1f345;文末获取源码联系&#x1f345; &#x1f447;&#x1f3fb; 精…

利用条件编译解决vivado下verilog代码中ila与仿真的共存问题

vivado自带的仿真工具已经接近Modelsim的功能&#xff0c;且与原生开发环境的紧密结合&#xff0c;对仿真非常方便。 我的习惯是在实现工程中另外建一个仿真工程&#xff0c;保存仿真的testbench文件等&#xff0c;而实现工程中保存实际功能的源码文件。 这样仿真时会存在一个问…

目前人工智能时代,程序员如何保持核心竞争力?

随着AIGC&#xff08;如chatgpt、midjourney、claude等&#xff09;大语言模型接二连三的涌现&#xff0c;AI辅助编程工具日益普及&#xff0c;程序员的工作方式正在发生深刻变革。有人担心AI可能取代部分编程工作&#xff0c;也有人认为AI是提高效率的得力助手。面对这一趋势,…

[2025]医院健康陪诊系统(源码+定制+服务)

博主介绍&#xff1a; ✌我是阿龙&#xff0c;一名专注于Java技术领域的程序员&#xff0c;全网拥有10W粉丝。作为CSDN特邀作者、博客专家、新星计划导师&#xff0c;我在计算机毕业设计开发方面积累了丰富的经验。同时&#xff0c;我也是掘金、华为云、阿里云、InfoQ等平台…

Linux新增用户,对用户提权

文章目录 一、创建用户二、删除用户三、对用户进行提权 一、创建用户 adduser进行创建用户&#xff0c;名字最好不用和指令名称相同。 在创建完用户时最好使用sudo passwd username进行对用户密码的修改. 二、删除用户 userdel进行对用户的删除 三、对用户进行提权 新建用…

Java-面向对象编程(基础部分)

类和对象的区别和联系 类&#xff1a;类是封装对象的属性和行为的载体&#xff0c;在Java语言中对象的属性以成员变量的形式存在&#xff0c;而对象的方法以成员方法的形式存在。 对象&#xff1a;Java是面向对象的程序设计语言&#xff0c;对象是由类抽象出来的&#xff0c;…

手写Spring第三篇,原来Spring容器是使用反射来初始化对象的

上次是不是你小子和大家说你拿来做登记的样品被我收了&#xff0c;然后取豆子的时候就是这个样品的&#xff1f; 今天我来辟一下谣&#xff0c;真的是这样的。这小子的样品确实被我收了&#xff0c;不过这小子没给真东西给我&#xff0c;只给了一个指针&#xff0c;害我宝贝得存…

利士策分享,财富与肥胖:一场关于生活方式的深度对话

利士策分享&#xff0c;财富与肥胖&#xff1a;一场关于生活方式的深度对话 在这个物质充裕、信息爆炸的时代&#xff0c;我们不禁会思考起一些看似不相关实则微妙相连的社会现象&#xff0c; 比如财富与肥胖之间的关系。 这不仅仅是一个关于体重增减的简单议题&#xff0c;更…

自动驾驶中的决策规划技术分享--轻舟智航

文章目录 0.概述&#xff1a;1 导航模块2 决策模块2.1 车道决策2.2 障碍物决策 3 轨迹规划3.1 时空分离规划3.2 时空联合规划 4 对比 0.概述&#xff1a; 李仁杰&#xff0c;轻舟智航规划算法负责人&#xff0c;自动驾驶决策与规划技术专家。 在自动驾驶系统中&#xff0c;决策…

基于SSM的宿舍管理系统的设计与实现 (含源码+sql+视频导入教程+文档+PPT)

&#x1f449;文末查看项目功能视频演示获取源码sql脚本视频导入教程视频 1 、功能描述 基于SSM的宿舍管理系统9拥有两种角色&#xff1a;管理员和用户 管理员&#xff1a;宿舍管理、学生管理、水电费管理、报修管理、访客管理、各种信息统计报表 用户&#xff1a;个人信息管…