ajp8009端口分析

2023-11-09

1,AJP是什么?

最近有一个ajp的文件包含漏洞CVE-2020-1938很火,因此就研究了一下tomcat的ajp服务,复现了该漏洞。首先我们来看一下ajp是什么?
ajp是tomcat的一个转发协议,通过这个协议,我们可以在自己的客户端上远程访问另一头的tomcat服务器。例如,原本我们打开tomcat,在自己的浏览器输入localhost就可以访问tomcat,而配置了ajp协议的服务器,就允许你在其它电脑或者客户端,远程访问该tomcat服务器。

2,AJP漏洞的利用

网上搜了一下ajp漏洞的利用,发现原来几年前ajp协议就已经被爆出过漏洞,也是自己很少用到该协议,也不怎么关注。如今这么一个高危漏洞出来,而且poc已经全网转发,不得不重视。ajp协议的端口是8009,如果nmap发现某个机器开放了8009端口,那么就可能存在这漏洞,从而进一步验证。主要步骤如下:
1,找到一个开放8009端口的服务器,在自己的Apache安装目录下找到conf/httpd.conf,将proxy模块打开,事实证明,网上还少添加了2个模块(mod_lbmethod_byrequests.so和mod_slotmem_shm.so),这两个模块打开后,才可以启动apach。

LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_ajp_module modules/mod_proxy_ajp.so
LoadModule proxy_balancer_module modules/mod_proxy_balancer.so
LoadModule proxy_connect_module modules/mod_proxy_connect.so    
LoadModule proxy_ftp_module modules/mod_proxy_ftp
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

ajp8009端口分析 的相关文章

  • Gspread如何复制sheet

    在 Stackoverflow 上进行谷歌搜索和搜索后 我想我找不到有关如何复制现有工作表 现有模板工作表 并将其保存到另一个工作表中的指南 根据文档 有重复表 https gspread readthedocs io en latest
  • Django 的 request.FILES 出现 UnicodeDecodeError

    我在视图调用中有以下代码 def view request body u for filename f in request FILES items body body Filename filename n f read n 在某些情况下
  • java数学中的组合“N选择R”?

    java库中是否有内置方法可以为任何N R计算 N选择R 公式 实际上很容易计算N choose K甚至不需要计算阶乘 我们知道 公式为 N choose K is N N K K 因此 公式为 N choose K 1 is N N N
  • Java:不使用 Arrays.sort() 对整数数组进行排序

    这是我们 Java 课程的练习之一中的说明 首先 我想说我 做了我的功课 我不仅仅是懒惰地请 Stack Overflow 上的人帮我回答这个问题 在所有其他练习中 这个特定项目一直是我的问题 因为我一直在努力寻找 完美的算法 编写JAVA
  • pytest:同一接口的不同实现的可重用测试

    想象一下我已经实现了一个名为的实用程序 可能是一个类 Bar在一个模块中foo 并为其编写了以下测试 测试 foo py from foo import Bar as Implementation from pytest import ma
  • 在Java中将日期“2020-05-22T12:51:20.765111Z”解析为Instant [重复]

    这个问题在这里已经有答案了 如何解析 2020 05 22T12 51 20 732111Z Java 中的 Instant I used LocalDateTime parse startTime DateTimeFormatter of
  • 使用 python 绘制正值小提琴图

    我发现小提琴图信息丰富且有用 我使用 python 库 seaborn 然而 当应用于正值时 它们几乎总是在低端显示负值 我发现这确实具有误导性 尤其是在处理现实数据集时 在seaborn的官方文档中https seaborn pydata
  • 在片段之间切换时底部导航栏会向下推

    在我的活动中 我有一个底部导航栏和框架布局来显示片段 一切正常 但问题是当我开始按顺序从 1 4 移动时 底部导航栏保持在其位置 但当我突然从 4 跳到2 然后底部导航栏就会超出屏幕 当再次单击同一项目时 它就会回到正常位置 该视频将清楚地
  • 使用 Pandas 计算 delta 列

    我有一个数据框 如下所示 Name Variable Field A 2 3 412 A 2 9 861 A 3 5 1703 B 3 5 1731 A 4 0 2609 B 4 0 2539 A 4 6 2821 B 4 6 2779 A
  • Jython 和 SAX 解析器:允许的实体不超过 64000 个?

    我做了一个简单的测试xml saxJython 中的解析器在处理大型 XML 文件 800 MB 时遇到以下错误 Traceback most recent call last File src project xmltools py li
  • 从特定 JAR 文件读取资源(文件的重复路径)

    假设您有 jar1 和artifactId 动物园 jar2 和artifactId 动物 两个 jar 都有一个具有相同路径的资源文件 例如 animals animal txt 有什么方法可以从特定的 jar 中读取该文件吗 使用 ge
  • 使用“默认”环境变量启动新的子进程

    我正在编写一个构建脚本来解析依赖的共享库 及其共享库等 这些共享库在正常情况下是不存在的PATH环境变量 为了使构建过程正常工作 让编译器找到这些库 PATH已更改为包含这些库的目录 构建过程是这样的 加载器脚本 更改 PATH gt 基于
  • Java给定长度的随机数

    我需要在 Java 中生成一个恰好 6 位数字的随机数 我知道我可以在随机发生器上循环 6 次 但是在标准 Java SE 中还有其他方法可以做到这一点吗 要生成 6 位数字 Use Random http download oracle
  • 将seaborn.palplot轴添加到现有图形中以可视化不同调色板

    将seaborn人物添加到子图中是usually https seaborn pydata org examples cubehelix palette html创建图形时通过传递 ax 来完成 例如 sns kdeplot x y cma
  • 在系统托盘中隐藏 tkinter 窗口 [重复]

    这个问题在这里已经有答案了 我正在制作一个程序来提醒我朋友的生日 这样我就不会忘记祝福他们 为此 我制作了两个 tkinter 窗口 1 First one is for entering name and birth date 2 Sec
  • Django Admin 中的反向内联

    我有以下 2 个型号 现在我需要将模型 A 内联到模型 B 的页面上 模型 py class A models Model name models CharField max length 50 class B models Model n
  • 如何与其他用户一起使用 pyenv?

    如何与其他用户一起使用 pyenv 例如 如果我在用户 test 的环境中安装了 pyenv 则当我以 test 身份登录时可以使用 pyenv 但是 当我以其他用户 例如 root 身份登录时如何使用 pyenv 即使你这么做了 我也会s
  • 通过向上转换将 Java.sql.date 转换为 Java.util.date 安全吗?

    java sql date 扩展了 java util date 那么通过将 java sql date 转换为 java util date 是否可以在两者之间进行转换 或者有其他方法可以转换它们吗 您不一定需要强制转换 您可以将 SQL
  • while循环只执行一次

    我很难弄清楚为什么 while 循环实际上不会循环 它运行一次并停止 import java util public class mileskm public static void main String args Scanner inp
  • 如何为不同操作系统/Python 版本编译 Python C/C++ 扩展?

    我注意到一些成熟的Python库已经为大多数架构 Win32 Win amd64 MacOS 和Python版本提供了预编译版本 针对不同环境交叉编译扩展的标准方法是什么 葡萄酒 虚拟机 众包 我们使用虚拟机和Hudson http hud

随机推荐

  • springboot基于Java的衣服穿搭推荐系统-计算机毕业设计

    收藏关注不迷路 文章目录 一 项目介绍 二 开发环境 三 功能介绍 四 核心代码 五 效果图 六 文章目录 一 项目介绍 随着人们物质生活水平的提高 对于精神需求也日趋增长 在日常生活中会更加注意外在形象 尤其是在穿衣搭配方面 无论是日常生
  • C++智能指针详解

    1 概述 我们知道除了静态内存和栈内存外 每个程序还有一个内存池 这部分内存被称为自由空间或者堆 程序用堆来存储动态分配的对象即那些在程序运行时分配的对象 当动态对象不再使用时 我们的代码必须显式的销毁它们 在C 中 动态内存的管理是用一对
  • Linux下的两个特殊的文件(可用来清理日志)——/dev/null与/dev/zero

    1 dev null简介 在类Unix系统中 dev null被称为空设备 是一个特殊的设备文件 写入 dev null 会丢弃一切写入其中的数据 但报告写入操作成功 读取 dev null 则会立即得到一个EOF 在Unix行话中 dev
  • OpenMP、MPI、CUDA总结

    文章目录 一 OpenMP 1 1 多执行绪的概念 1 2 多执行绪的程式 1 3 OpenMP 的基本使用 1 4 OpenMP使用详解 二 MPI Message Passing Interface 三 CUDA 3 1 CUDA发展历
  • 华为OD2023(A卷)基础题23【最短木板长度】

    题目描述 小明有n块木板 第i 1 i n 块木板的长度为ai 小明买了一块长度为m的木料 这块木料可以切割成任意块 拼接到已有的木板上 用来加长木板 小明想让最短的木板尽量长 请问小明加长木板后 最短木板的长度最大可以为多少 输入描述 输
  • Git超实用总结,再也不怕记忆力不好了

    欢迎大家前往腾讯云 社区 获取更多腾讯海量技术实践干货哦 本文由腾讯工蜂发表于云 社区专栏 Git 是什么 Git 是一个分布式的代码管理容器 本地和远端都保有一份相同的代码 Git 仓库主要是由是三部分组成 本地代码 缓存区 提交历史 这
  • js if判断多个条件_python量化基础

    编辑 Cowboy 校对 李明 来源 牛角财经 目的 python量化基础 条件分支与循环 IF条件分支判断语句的用法 python教程 从入门到高级 免费 特点 案例基于金融市场数据展开 让python量化初学者快速上手 一 基础部分 人
  • springboot/cloud版本升级常见问题和文档

    版本对照链接 https spring io projects spring cloud overview 升级mybatis的starter版本后 集成mybatis spring尽量用高版本 要不然容易出现datesource无法找到或
  • MATLAB R2021b(07)

    详细原文介绍 神经网络入门详解 nftool MathWoks 神经网络入门随记 以及 matlab中神经网络工具箱的使用 关于神经网络的非常基础概念 个人笔记 不具权威性 仅供参考 欢迎指正错误 提供意见 交流讨论等 1 思路简介 我们有
  • 【PCIe】3: PCIe BDF(Bus,Device,Function)

    目录 1 概述 2 BUS 总线号 3 Device 设备号 4 Function 功能号 1 概述 PCIe总线中的每一个功能都有一个唯一的标识符与之对应 这个标识符就是BDF Bus Device Function
  • Knife4j 基础(OpenAPI2)

    1 Knife4j OpenApi2 入门示例 Knife4j是一个集Swagger2 和 OpenAPI3 为一体的增强解决方案 本文按照官方文档 在 SpringBoot2 7 项目中 集成 Knife4j 的 OpenApi2 版本
  • vscode中编译时当前工作目录的设置

    options cwd usr bin 在tasks json中options选项中 使用cwd项进行编译过程当前工作目录的设置 上面的代码把编译时的当前工作目录强制设置到 usr bin 如果使用该选项不设置 则工作目录为当前打开工程的文
  • go ethereum private net 在miner.start()后返回null及停止挖矿的问题

    查了好久在go ethereum社区查到一个情况相同的提问 why does miner start return null does not start in private testchain 提问者也是在miner start 后进入
  • 1、asyncio aiohttp aiofile 异步爬取图片

    1 asyncio aiohttp aiofile 异步爬取图片 前后折腾了好多天 不废话 先直接上代码 再分析 1 import aiohttp 2 import asyncio 3 import aiofiles 4 5 header
  • Surround the Trees

    http acm zju edu cn onlinejudge showProblem do problemId 453 There are a lot of trees in an area A peasant wants to buy
  • Linux下的grub2引导修复

    目录 引导故障分析处理 1 修复grub2引导故障 2 修复grub2 误删掉 boot grub2 3 修复grub2 引导破坏故障 4 修复 boot 下所有文件被删除故障 引导故障分析处理 1 修复grub2引导故障 故障原因 gru
  • 第五章-数字水印-2-原理及实现

    数字水印原理 根据之前图像获取位平面的操作可知 最低位位平面对整体图像的影响最小 因此数字水印的原理为在图像的最低有效位上嵌入隐藏信息 即在图像的最低位替换为数字水印位平面 完成数字的嵌入操作 对已嵌入数字水印的图片提取最低位位平面 即可得
  • 计算机数值分析课学后感,计算方法课程总结 心得体会

    计算方法课程总结 心得体会 一 课程简介 本课程是信息与计算科学 数学与应用数学本科专业必修的一门专业基础课 我们需在掌握数学分析 高等代数和常微分方程的基础知识之上 学习本课程 在实际中 数学与科学技术一向有着密切关系并相互影响 科学技术
  • 白手起家学习数据科学 ——梯度下降法之“优化步长和随机梯度下降篇”(六)

    选择正确的步长 Choosing the Right Step Size 虽然针对梯度移动的基本原理是清楚的 但是移动多少是不清楚的 的确 选择一个合适的步长是一门艺术 流行的选择包括 使用固定的步长 随时间逐步缩小步长 在每次迭代 选择最
  • ajp8009端口分析

    1 AJP是什么 最近有一个ajp的文件包含漏洞CVE 2020 1938很火 因此就研究了一下tomcat的ajp服务 复现了该漏洞 首先我们来看一下ajp是什么 ajp是tomcat的一个转发协议 通过这个协议 我们可以在自己的客户端上