Web 服务器解析漏洞 原理以及修复方法

漏洞名称 :Web服务器解析漏洞

漏洞描述

服务器相关中间件存在一些解析漏洞,攻击者可通过上传一定格式的文件,被服务器的中间件进行了解析,这样就对系统造成一定危害。常见的服务器解析漏洞涉及的中间件有IIS,apache、nginx、等。

检测条件

1.Web业务运行正常。

检测方法:

以下为常见的各大web服务器所出现过的解析漏洞汇总,在检测时刻参考:
1、IIS 6.0
目录解析:/xx.asp/xx.jpg xx.jpg可替换为任意文本文件(e.g. xx.txt),文本内容为后门代码 IIS6.0会将 xx.jpg 解析为 asp 文件。
后缀解析:/xx.asp;.jpg /xx.asp:.jpg(此处需抓包修改文件名) IIS6.0都会把此类后缀文件成功解析为 asp 文件。
默认解析:/xx.asa /xx.cer /xx.cdx IIS6.0默认的可执行文件除了 asp 还包含这三种此处可联系利用目录解析漏洞/xx.asa/xx.jpg 或/xx.cer/xx.jpg 或 xx.asa;.jpg

2、IIS 7.0/IIS 7.5/Nginx <8.03
IIS 7.0/IIS 7.5/Nginx<8.03在默认Fast-CGI开启状况下,在一个文件路径(/xx.jpg)后面加上/xx.php会将/xx.jpg/xx.php 解析为 php 文件。

3、Nginx <8.03
在Fast-CGI关闭的情况下,Nginx<8.03依然存在解析漏洞在一个文件路径(/xx.jpg)后面加上%00.php会将/xx.jpg%00.php解析为 php 文件

4、Apache
后缀解析:test.php.x1.x2.x3 Apache将从右至左开始判断后缀,若x3非可识别后缀,再判断x2,直到找到可识别后缀为止,然后将该可识别后缀进解析 test.php.x1.x2.x3 则会被解析为php 经验之谈:php|php3|phtml 多可被Apache解析。

5、其他一些可利用的:
在windows环境下,xx.jpg[空格]或xx.jpg.这两类文件都是不允许存在的,若这样命名,windows会默认除去空格或点,这也是可以被利用的!在向一台windows主机上传数据时,你可以抓包修改文件名,在后面加个空格或点,试图绕过黑名单,若上传成功,最后的点或空格都会被消除,这样就可得到shell。我记得FckPhp2.6就存在加空格绕过的漏洞。{Linux主机中不行,Linux允许这类文件存在}如果在Apache中.htaccess可被执行(默认不执行,这是90sec里的一位朋友说的,当初我并不知道),且可以 被 上 传 , 那 可 以 尝 试 在 .htaccess 中 写 入 :<FilesMatch ‚ shell.jpg ‛ >SetHandler application/x-httpd-php </FilesMatch> shell.jpg换成你上传的文件,这样shell.jpg就
可解析为php文件

修复方案

1、 针对IIS解析漏洞(另详见本节末尾,其他说明中详细方法):

程序方面:
1、对新建目录文件名进行过滤,不允许新建包含.的文件夹。
2、取消网站后台新建目录的功能,不允许新建目录。
3、及时打取中间件补丁。
服务器方面:
1、限制上传目录的脚本执行权限,不允许执行脚本。
2、过滤.asp/xm.jpg,通过ISApi组件过滤。 在httpd.ini加入了以下规则
ASP
RewriteRule (.*).asp/(.*) /no.gif RewriteRule (.*).Asp/(.*) /no.gif
RewriteRule (.*).aSp/(.*) /no.gif RewriteRule (.*).asP/(.*) /no.gif

2、 针对Nginx解析漏洞:

1、修改php.ini,设置cgi.fix_pathinfo = 0;然后重启php-cgi。此修改会影 响 到 使 用 PATH_INFO 伪 静 态 的 应 用 。
2、在nginx的配置文件添加如下内容后重启:if ( $fastcgi_script_name ~ \..*\/.*php ) {return 403;} 。 该 匹 配 会 影 响 类 似http://www.domain.com/software/5.0/test.php ( 5.0 为 目 录 ) ,
http://www.domain.com/goto.php/phpwind 的URL访问.
3、对于存储图片的location{...},或虚拟主机server{...},只允许纯静态访问,不配置PHP访问。例如在金山逍遥网论坛、SNS上传的图片、附件,会传送到专门的图片、附件存储服务器集群上(pic.xoyo.com),这组服务器提供纯静态服务,无任何动态PHP配置。各大网站几乎全部进行了图片服务器分离,因此Nginx的此次漏洞对大型网站影响不大。
 

3、 针对Apache解析漏洞

1、 用伪静态能解决这个问题,重写类似。php.*这类文件:
打开apache的httpd.conf
找到LoadModule rewrite_module modules/mod_rewrite.so
把#号去掉,重启apache,在网站根目录下建立。htaccess文件,代码如下:

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


根 据 自 己 要 求 修 改 自 己 定 义 的 执 行 php 的 后 缀 , 用 | 隔 开 就 行 。/index.php可以换成你想要显示的文件。

4、 其他解决方案:使用McAfee VirusScan软件的访问保护中的自定义规则,新建文件/文
件夹阻挡规则,配置:规则名称随便填写,要包含的进程填*,要阻止的文件夹或文件名中写**\*.asp\*.*,以上方法很简单,是对整个服务器进行设置的。

其他说明

IIS 6.0畸形文件扩展名解析漏洞修复方案:

漏洞扫描规避
规避方式一

参考配URL整改,取消返回Server:Mircrosoft/IIS 6.0HTTP头。
http://blogs.msdn.com/b/varunm/archive/2013/04/23/remove-unwanted-http-response-headers.aspx

规避方式二
该漏洞是基于扫描端口Banner版本报出的,修改IIS Banner信息可以降低该漏洞被发现的概率,修改步骤:
1、复制c:\windows\system32\dllcache\w3core.dll 文件备份两次(方便描述以下用A、B区分——A用于修改,B用来备份)。
2、用Uedit32或者winhex打开复制的w3core.dll(A),直接搜索关键字‚6.0‛,要勾选‚ascii‛。搜索到了,将6.0改成8.0后保存。

3、将A复制到‚c:\windows\system32\dllcache\‛替换原有的w3core.dll。

4、停止IIS Admin Service服务,将A复制到‚c:\windows\system32\inetsrv\‛替换原有的w3core.dll。(此处不停止IIS服务该文件不能被替换。)

5、启动IIS Admin Service服务,然后对该服务再重启次,不行就重启系统。
提示:
1、w3core.dll文件记录了IIS的版本,本方法通过修改该文件达到修改IIS Banner目的。
2、Windows对重要dll文件有保护机制,c:\windows\system32\dllcache\中为Windows的dll备份目录,系统发现重要dll被修复时,会将该目录的dll文件,还原替换被修改的dll。故需要先替换该目录下的w3core.dll文件。

注意事项:
1、修改、删除或替换dll文件前,做好备份。
2、建议在测试机器上测试是否有效,再对业务机器修改。
以上参考: http://www.2cto.com/Article/201111/110201.html

漏洞利用规避
该漏洞经以上方法修改后仍然存在,只有通过平台改造到windows Server2008/2012——IIS7以上,或者使用Apahce/Tomcat等其他中间件才能彻底修复这个问题。如部改造,可使用以下方法防止漏洞利用:
1、对网站中上传目录配置限制脚本执行权限,以防止上传到服务器的webshell等恶意文件无法执行。

2、应用程序应对上传文件名称进行重命名。如上传恶意文件webshell.asp;.doc,对其重命名成85f9e396cf16200119f100757a6e8da1.doc(可对原文件名进行md5哈希运算值作为新的文件名)。如不进行此文件重命名操作,上传到存在此漏洞的webshell.asp;.doc文件会被解析成webshell.asp来执行。


3、使用IIS Rewirte进行漏洞加固。参考:
http://bbs.qibosoft.com/read-forum-tid-407332.htm

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/4867.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Python 全栈体系【四阶】(三十七)

第五章 深度学习 八、目标检测 3. 目标检测模型 3.1 R-CNN 系列 3.1.1 R-CNN 3.1.1.1 定义 R-CNN(全称 Regions with CNN features) &#xff0c;是 R-CNN 系列的第一代算法&#xff0c;其实没有过多的使用“深度学习”思想&#xff0c;而是将“深度学习”和传统的“计算…

Mac NTFS磁盘读写工具选择:Tuxera还是Paragon?

在Mac上使用NTFS磁盘时&#xff0c;选择一款合适的读写工具至关重要。Tuxera和Paragon作为两款备受推崇的Mac NTFS磁盘读写工具&#xff0c;都能够帮助用户轻松地实现NTFS格式的读写。那么&#xff0c;面对这两款功能强大的工具&#xff0c;我们应该如何选择呢&#xff1f;本文…

CACTER AI实验室:AI大模型在邮件安全领域的应用

随着人工智能技术的飞速发展&#xff0c;AI已经深入到生活的各个领域。AI大模型在邮件安全领域展现出巨大潜力&#xff0c;尤其是反钓鱼检测上的应用&#xff0c;正逐渐展现出其独特的价值。 4月24日&#xff0c;CACTER AI实验室高级产品经理刘佳雄在直播交流会上分享了CACTER …

c语言——二叉树

目录 目录 二叉树关键概念理解 一颗拥有1000个结点的树度为4&#xff0c;则它的最小深度是&#xff1f; 那么对于二叉树&#xff0c;只掌握这些是远远不够的&#xff0c;我们还需要掌握几个最基本的经典问题&#xff0c; 求二叉树大小 求叶子结点个数 求深度 求第k层的…

Window11安装vim编辑器

我们在做git操作的时候&#xff0c;很多文字编辑工作会默认打开 Vim 编辑器来进行操作。 Vim 是一个高度可配置的文本编辑器&#xff0c;旨在让创建和更改任何类型的文本变得非常高效。大多数 UNIX 系统和 Apple OS X 都将它作为vi包含在内&#xff0c;用惯了Linux中的Vim编辑器…

长江证券:地产需求,去哪儿呢?

核心观点&#xff1a; 1.来有影&#xff0c;去无踪。无论是价格还是销量&#xff0c;年初以来房地产市场进一步深度调整。现实的直观感受是&#xff0c;住房需求锐减以及二手房供给骤增。如此短期变化&#xff0c;能否用人口、城镇化等长期因素来解释&#xff1f;是否能通过不…

“地表最强”文生视频模型?Sora 背后有何秘密?

自 2022 年底 ChatGPT 的横空出世&#xff0c;人工智能再度成为全世界的焦点&#xff0c;基于大语言模型&#xff08;LLM&#xff09;的 AI 更是人工智能领域的“当红炸子鸡”。此后的一年&#xff0c;我们见证了 AI 在文生文、文生图领域的飞速进展&#xff0c;但在文生视频领…

【C++】学习笔记——内存管理

文章目录 二、类和对象20. 友元1. 友元函数2.友元类 21. 内部类22. 匿名对象23. 拷贝对象时的一些编译器优化 三、内存管理1. C/C内存分布2. C语言中动态内存管理方式&#xff1a;malloc/calloc/realloc/free3. C内存管理方式 未完待续 二、类和对象 20. 友元 1. 友元函数 我…

溪谷软件:游戏联运有多简单?

游戏联运&#xff0c;即游戏联合运营&#xff0c;是一种游戏运营模式&#xff0c;涉及到多个平台或公司共同推广和运营同一款游戏。对于开发者而言&#xff0c;游戏联运的简化程度可能因具体情况而异&#xff0c;但以下是一些因素&#xff0c;使得游戏联运在某种程度上变得更加…

认识Linux及一些基本

目录 linux简介&#xff1a; 1. 发展史 UNIX发展的历史 Linux发展历史 2. 开源 3. 企业应用现状 Linux在服务器领域的发展 Linux在桌面领域的发展 Linux在移动嵌入式领域的发展 Linux在云计算/大数据领域的发展 4. 发行版本 Debian Ubuntu 红帽企业级Linux Cent…

金荣中国模拟账户有什么用?实战演练,助力投资者稳健起步

在投资市场中&#xff0c;新手投资者往往面临着缺乏经验、不熟悉市场规则等问题&#xff0c;这些都可能导致投资者在真实交易中遭受损失。为了解决这个问题&#xff0c;金荣中国为投资者提供了一个模拟账户&#xff0c;那么金荣中国模拟账户有什么用&#xff1f;功能旨在通过实…

数组中的区别与例外

数组名可以表示整个数组&#xff0c;取出的是整个数组的地址 有两个例外&#xff1a; 1.sizeof&#xff08;数组名&#xff09;&#xff0c;这里的数组名表示整个数组&#xff0c;计算的是整个数组的大小&#xff0c;单位是字节。 2.&数组名&#xff0c;数组名能表示首元…

大数据分析与应用实验(黑龙江大学)

实验一 Hadoop伪分布式实验环境搭建与WordCount程序 一、实验目的 1、学习搭建Hadoop伪分布式实验环境 2、在伪分布式实验环境下运行WordCount程序 二、实验内容 1、搭建Hadoop伪分布式实验环境&#xff0c;并安装Eclipse。 2、在Eclipse环境下&#xff0c;编写并执行Wor…

LLM - 大语言模型(LLM) 的 评估体系

欢迎关注我的CSDN:https://spike.blog.csdn.net/ 本文地址:https://blog.csdn.net/caroline_wendy/article/details/138160155 大语言模型(LLM)的评估是复杂且多维的过程,涉及多个方面,包括评估体系、评估方法、评估实践。评估体系包括评估数据集、模型输出、样本/输出变换…

头条系统-01-环境搭建、SpringCloud微服务(注册发现、服务调用、网关)

文章目录 环境搭建、SpringCloud微服务(注册发现、服务调用、网关)1)项目介绍2)项目概述2.1)学习到的技术内容2.2)项目课程大纲2.3)项目概述2.4)项目术语2.5)业务说明 3)技术栈4)nacos环境搭建4.1)虚拟机镜像准备注&#xff1a; 4.2)nacos安装 5)初始工程搭建5.1)环境准备连接G…

org.yaml.snakeyaml.scanner.ScannerException: while scanning a simple key 。。。

控制台信息&#xff1a; 这个信息一般是yml文件配置出现了问题&#xff0c;如 出现非法数据 、缩进有问题等 问题地方如下&#xff0c;修改一下就好了 控制台一般报的这种错就是配置文件的格式不正确

C++初阶-----对运算符重载的进一步理解(2)

目录 1.对于加加&#xff0c;减减运算符的重载理解 2.const修饰的一些事情 3.日期对象之间的减法实现逻辑 1.对于加加&#xff0c;减减运算符的重载理解 &#xff08;1&#xff09;在C语言里面&#xff0c;我们已经知道并且了解加加&#xff0c;减减的一些基本的用法&#…

【软件开发规范篇】JAVA后端开发编码命名规范

作者介绍&#xff1a;本人笔名姑苏老陈&#xff0c;从事JAVA开发工作十多年了&#xff0c;带过大学刚毕业的实习生&#xff0c;也带过技术团队。最近有个朋友的表弟&#xff0c;马上要大学毕业了&#xff0c;想从事JAVA开发工作&#xff0c;但不知道从何处入手。于是&#xff0…

HTML+CSS:构建网站不可不知的18个模块!

你好&#xff0c;我是云桃桃。 一个希望帮助更多朋友快速入门 WEB 前端的程序媛。 云桃桃-大专生&#xff0c;一枚程序媛&#xff0c;感谢关注。回复 “前端基础题”&#xff0c;可免费获得前端基础 100 题汇总&#xff0c;回复 “前端工具”&#xff0c;可获取 Web 开发工具…

virtualbox 网络设置实现主机和虚拟机互相访问

前言 一般来说&#xff0c;virtualbox 虚拟机的上网模式是 NAT。这样虚拟机可以上网并访问宿主机&#xff0c;但宿主机无法访问虚拟机&#xff0c;也无法 ping 通。下面介绍双网卡模式&#xff0c;实现虚拟机和宿主机能够互相访问 ping 通。 双网卡模式 进入虚拟机的网络设置…