【漏洞复现】Apache Tomcat AJP文件包含漏洞(CVE-2020-1938)
Nx01 产品简介
Apache Tomcat 是一个免费的开源 Web 应用服务器,在中小型企业和个人开发用户中有着广泛的应用。
Nx02 漏洞描述
默认情况下,Apache Tomcat会开启AJP连接器,由于AJP服务(8009端口)存在文件包含缺陷,导致攻击者可以通过发送恶意的AJP请求,利用漏洞读取Tomcat服务所有 webapp 目录下的任意文件,如果存在文件上传功能,将可以导致任意代码执行。
Nx03 产品主页
hunter-query: app.name="Apache Tomcat"

Nx04 漏洞复现
POC地址:
https://github.com/YDHCUI/CNVD-2020-10487-Tomcat-Ajp-lfi
使用脚本获取WEB-INF/xml。

Nx05 修复建议
1.临时禁用AJP协议端口,在conf/server.xml配置文件中注释掉<Connector port="8009" protocol="AJP/1.3"redirectPort="8443" />。
2.配置ajp配置中的secretRequired跟secret属性来限制认证。
相关文章:
【漏洞复现】Apache Tomcat AJP文件包含漏洞(CVE-2020-1938)
Nx01 产品简介 Apache Tomcat 是一个免费的开源 Web 应用服务器,在中小型企业和个人开发用户中有着广泛的应用。 Nx02 漏洞描述 默认情况下,Apache Tomcat会开启AJP连接器,由于AJP服务(8009端口)存在文件包含缺陷&…...
[渗透测试学习] Hospital - HackTheBox
文章目录 信息搜集getshell提权信息搜集 nmap扫描一下端口 发现8080端口和443端口有http服务 然后发现3389端口是启用了ms-wbt-server服务 在对443端口的扫描没有收获,并且只有邮箱登录界面无法注册 接着看向8080端口,我们随便注册用户登录后发现有文件上传功能 getshell …...
C技能树-学习笔记(1-2)C语言概述和数据类型
参考:https://edu.csdn.net/skill/c 1、输出 “Hello, World!” 字符串,请选出错误答案。 2、错误的print函数。 for … in …:是python的语法,C语言的写法是for (;😉 3、C标准 没有C19标准。 4、了解C编译管道 …...
设计模式入门
0. 类图 1. 设计原则 1.单一职责原则:每个类只有一个功能 2.开放封闭原则:模块和函数应该对扩展开放(对提供方),对修改关闭(对使用方) 3.里氏代换原则:子类拥有父类的所有方法和属性,从而可以减少创建类的工作量 4.依…...
EasyExcel下载EXCEL文件,后台通过流形式输出到前端浏览器下载方式输出
前端代码(参考):$("#import").on(click, function(){var createDate$("#createdDate").val();var key1$("#key1").val();if(createDatenull||createDate""){layer.msg("请选择创建时间段&#…...
Pandas实战100例 | 案例 56: 创建多重索引
案例 56: 创建多重索引 知识点讲解 在 Pandas 中,多重索引(或层次化索引)提供了在 DataFrame 中表示多维数据的方式。这使得数据分析在多个级别上更加灵活和强大。 创建多重索引: 通过使用 set_index 方法并传入多个列名,可以在…...
解决“nacos默认secret.key配置不当权限绕过漏洞“
一、前言 nacos 2.2.0.1以下版本会有一个nacos默认secret.key配置不当权限绕过漏洞,等级为高危。形成原因是nacos的配置文件中存在这么一个secret.key默认配置: nacos.core.auth.plugin.nacos.token.secret.keySecretKey01234567890123456789012345678…...
一款好用的开源思维导图软件 docker部署教程
目录 Simple mind map简介 Simple mind map特点 1.拉取镜像 2.创建并启动容器 方式1:docker启动 方式2:docker compose启动 3.使用 4.源码地址 Simple mind map简介 .一个 Web 思维导图,基于思维导图库、Vue2.x、ElementUI 开发&#…...
Jenkins之pipeline
安装插件 Pipeline Pipeline: Stage View Plugin 创建任务 配置 demo 开始实践 拉取git仓库代码 checkout scmGit(branches: [[name: */main]], extensions: [], userRemoteConfigs: [[url: http://178.119.30.133:8929/root/mytest.git]])通过SonarQube做质量检测 sh …...
创意交融:集成自定义报表和仪表盘设计器,实现图标替换
前言 在现代数据分析领域,随着对报表和数据分析的需求不断增长,市场上涌现了许多嵌入式报表工具。这些工具能够与企业现有的OA、ERP、MES、CRM等应用系统深度集成,实现对业务数据的自助式分析。然而,在实际应用中,不同…...
Mybatis 40_resultMap基础和@Results注解
40_resultMap基础和Results注解 resultType和resultMap<resultMap.../>元素项目0501resultMap Results注解项目0502resultMap注解(Results) 【总结】 resultType和resultMap resultType指定结果集每条记录要映射的对象类型。resultMap表明使用自定义的映射规…...
【蓝桥杯选拔赛真题31】C++数位求和 第十三届蓝桥杯青少年创意编程大赛C++编程选拔赛真题解析
目录 C/C++数位求和 一、题目要求 1、编程实现 2、输入输出...
牛客网-css继承属性
3.当元素的一个继承属性没有指定值时,则取父元素的同属性的计算值,以下哪些不是 CSS 中的继承属性? A. color B.display C.border-style D.text-align 答案:BC 解析:不可继承:display,mar…...
OpenCV-19图像的仿射变换
放射变换是图像旋转,缩放,平移的总称,具体的做法是通过一个矩阵和原图片坐标进行计算,得到新的坐标,完成变换,所以关键就是这个矩阵。 一、仿射变换之图像平移 使用API------warpAffine(src &…...
数据结构与算法教程,数据结构C语言版教程!(第四部分、字符串,数据结构中的串存储结构)二
第四部分、字符串,数据结构中的串存储结构 串存储结构,也就是存储字符串的数据结构。 很明显,字符串之间的逻辑关系也是“一对一”,用线性表的思维不难想出,串存储结构也有顺序存储和链式存储。 提到字符串ÿ…...
第七在线荣获百灵奖 Buylink Awards 2023零售圈年度卓越服务商品牌
1月11日,由零售圈主办、20零售连锁协会协办、30零售行业媒体支持的中国零售圈大会暨2024未来零售跨年盛典在西安落下帷幕,在这个零售行业盛典中,第七在线凭借其高精尖产品和卓越的服务质量成功入选,并荣获了“百灵奖 Buylink Awar…...
通过myBatis将sql语句返回的值自动包装成一个java对象(3)
1.如果sql字段和java字段名字不一样怎么办? 之前我们将sql返回值转换为java对象时,每条sql的返回值的字段名和java类中的字段名是一一对应的,ie:sql选择的user有username和password两个字段,java中的user对象也有两个…...
基于SSM的驾校信息管理系统设计与实现
末尾获取源码 开发语言:Java Java开发工具:JDK1.8 后端框架:SSM 前端:Vue、HTML 数据库:MySQL5.7和Navicat管理工具结合 服务器:Tomcat8.5 开发软件:IDEA / Eclipse 是否Maven项目:是…...
矩阵行列式的四大应用
目录 一. 介绍 二. 行列式的基本性质 2.1 单位阵的行列式 2.2 交换行位置的行列式 三. 矩阵求逆与行列式 四. 体积与行列式 五. 矩阵主元与行列式 六. 解方程与矩阵行列式 七. 小结 一. 介绍 行列式可以反应矩阵的很多性质,比如可以求矩阵的逆,…...
【小笔记】时序数据分类算法最新小结
2024.1.15 最近基于时序数据训练分类算法,对其进行了一番了解,主要围绕以下几点: 时序数据算法有哪些细分类?时序数据分类算法经典模型?当下时序分类算法模型强baseline?有没有现成的工具? 1…...
【网络】每天掌握一个Linux命令 - iftop
在Linux系统中,iftop是网络管理的得力助手,能实时监控网络流量、连接情况等,帮助排查网络异常。接下来从多方面详细介绍它。 目录 【网络】每天掌握一个Linux命令 - iftop工具概述安装方式核心功能基础用法进阶操作实战案例面试题场景生产场景…...
C++实现分布式网络通信框架RPC(3)--rpc调用端
目录 一、前言 二、UserServiceRpc_Stub 三、 CallMethod方法的重写 头文件 实现 四、rpc调用端的调用 实现 五、 google::protobuf::RpcController *controller 头文件 实现 六、总结 一、前言 在前边的文章中,我们已经大致实现了rpc服务端的各项功能代…...
【JavaEE】-- HTTP
1. HTTP是什么? HTTP(全称为"超文本传输协议")是一种应用非常广泛的应用层协议,HTTP是基于TCP协议的一种应用层协议。 应用层协议:是计算机网络协议栈中最高层的协议,它定义了运行在不同主机上…...
Zustand 状态管理库:极简而强大的解决方案
Zustand 是一个轻量级、快速和可扩展的状态管理库,特别适合 React 应用。它以简洁的 API 和高效的性能解决了 Redux 等状态管理方案中的繁琐问题。 核心优势对比 基本使用指南 1. 创建 Store // store.js import create from zustandconst useStore create((set)…...
Redis相关知识总结(缓存雪崩,缓存穿透,缓存击穿,Redis实现分布式锁,如何保持数据库和缓存一致)
文章目录 1.什么是Redis?2.为什么要使用redis作为mysql的缓存?3.什么是缓存雪崩、缓存穿透、缓存击穿?3.1缓存雪崩3.1.1 大量缓存同时过期3.1.2 Redis宕机 3.2 缓存击穿3.3 缓存穿透3.4 总结 4. 数据库和缓存如何保持一致性5. Redis实现分布式…...
MFC内存泄露
1、泄露代码示例 void X::SetApplicationBtn() {CMFCRibbonApplicationButton* pBtn GetApplicationButton();// 获取 Ribbon Bar 指针// 创建自定义按钮CCustomRibbonAppButton* pCustomButton new CCustomRibbonAppButton();pCustomButton->SetImage(IDB_BITMAP_Jdp26)…...
大数据零基础学习day1之环境准备和大数据初步理解
学习大数据会使用到多台Linux服务器。 一、环境准备 1、VMware 基于VMware构建Linux虚拟机 是大数据从业者或者IT从业者的必备技能之一也是成本低廉的方案 所以VMware虚拟机方案是必须要学习的。 (1)设置网关 打开VMware虚拟机,点击编辑…...
华为OD机试-食堂供餐-二分法
import java.util.Arrays; import java.util.Scanner;public class DemoTest3 {public static void main(String[] args) {Scanner in new Scanner(System.in);// 注意 hasNext 和 hasNextLine 的区别while (in.hasNextLine()) { // 注意 while 处理多个 caseint a in.nextIn…...
数据链路层的主要功能是什么
数据链路层(OSI模型第2层)的核心功能是在相邻网络节点(如交换机、主机)间提供可靠的数据帧传输服务,主要职责包括: 🔑 核心功能详解: 帧封装与解封装 封装: 将网络层下发…...
【单片机期末】单片机系统设计
主要内容:系统状态机,系统时基,系统需求分析,系统构建,系统状态流图 一、题目要求 二、绘制系统状态流图 题目:根据上述描述绘制系统状态流图,注明状态转移条件及方向。 三、利用定时器产生时…...
