wireshark 流量抓包例题重现

@[TOC](这里写目录标题

  • wireshark抓包方法
    • wireshark组成
  • wireshark例题

wireshark抓包方法

wireshark组成

在这里插入图片描述
wireshark的抓包组成为:分组列表、分组详情以及分组字节流。
在这里插入图片描述
上面这一栏想要显示,使用:Ctrl+F

我们先看一下最上侧的搜索栏可以使用的方法。
在这里插入图片描述

http.request.method == get  //抓取http的request的get请求
http.request.method == post  //抓取http的request的post请求
http.request.uri == "/img/logo-edu.gif"  //抓取http请求的url为/img/logo-edu.gif的数据包
http contains "FLAG"  //抓取内容为FLAG的数据包
ip.addr == 192.168.224.150  //抓取包含次ip地址的数据包
ip.src == 192.168.224.150  //抓取源地址为此地址的数据包
ip.dts == 192.168.224.150  //抓取目的地址为此地址的数据包
eth.dst == A0:00:00:04:c5:84  //抓取目标MAC地址的数据包
eth.addr == A0:00:00:04:c5:84  //抓取包含此MAC的数据包
tcp.dstport == 80  //抓取tcp目的端口为80的数据包
tcp.srcport == 80  //抓取tcp源端口为80的数据包
udp.srcport == 80  //抓取udp源端口为80的数据包

组合:
ip.addr == 192.168.224.150 && tcp.dstport == 80  //抓取ciip地址并且使用tcp目的端口为80的数据包

arp/icmp/ftp/dns/ip  //抓取协为arp/icmp...的数据包

udp.length == 20  //抓取长度为20的udp数据包
tcp.len>=20  //抓取长度大于20的tcp数据包
ip.len == 20  //抓取长度为20的ip数据包
frame.len == 20  //抓取长度为20的数据包

tcp.stream eq 0 //抓取tcp的分组0

我们不难看出,上侧搜索栏十分灵活,基本已经满足我们抓包要求。

那么我们再看一下下面我们添加的一栏。
在这里插入图片描述
最前面是指三个框,也就是搜索的位置
在这里插入图片描述
然后是宽窄,这里的宽窄是指编码方式
在这里插入图片描述
接下来就是区分大小写,后面的一栏就非常重要了,这里我们主要介绍字符串和正则。
我们知道如果我们想要搜索一些http内容,我们可以使用http,似乎和上侧差不多,但这里搜索的是字符串,而上面则是协议。
正则则更简单了,如果我们想要过滤一些文件,比如php:/.php$/更加快速。

这里是搜索的内容,我们再看另一个点,追踪数据流。
在这里插入图片描述
这里的追踪流,可以是TCP也可以是HTTP,这里打开一个看一下就好。
在这里插入图片描述
wireshark的使用就介绍到这。

wireshark例题

案例一
题目要求:
1.黑客攻击的第一个受害主机的网卡IP地址
2.黑客对URL的哪一个参数实施了SQL注入
3.第一个受害主机网站数据库的表前缀 (加上下划线例如abc_)

第一个比较简单,我们从http入手,进行查看。
在这里插入图片描述
查看一下数据包
在这里插入图片描述

很明显,我们可以看到我们映射出的公网ip是受害方202.1.1.1。
那么这个地址对应的私网IP就是被攻击方,也就是受害方。

也就是192.168.1.8

第二个,SQL注入参数
在这里插入图片描述
sqlamp是扫描器,而参数则在下面的内容中,也就是list

第三个,数据库表前缀
我们对数据的TCP流进行追踪
在这里插入图片描述
报错注入,分析数据
那么前缀就是ajtuc_

案例二
题目要求
1.黑客第一次获得的php木马的密码是什么
2.黑客第二次上传php木马是什么时间
3.第二次上传的木马通过HTTP协议中的哪个头传递数据

查询post传参
在这里插入图片描述存在一个特殊的文件/kkkaaa.php文件,检查第一个文件
在这里插入图片描述

追踪一下,TCP流
在这里插入图片描述在这里插入图片描述

这里我们就可以看到,此时的密码就是“zzz”

将下面的z0,进行base64解码
在这里插入图片描述
dirname可以用来检测所处路径和下面的所有文件

再过滤,将过滤内容全部看一下
在这里插入图片描述
基本都是执行命令的

2、第二次上传木马的时间
此时的958的大数据文件,比较醒目,我们查看一下,追踪一下TCP流
在这里插入图片描述
此时z0和z1都是base64编码,而z2是16进制,不难看出这里就是木马文件的上传,所以时间就是数据包里记录的时间

3、HTTP的哪个头部传递数据
我们将z2的16进制拷贝一下,十六进制转码,查看一下数据
在这里插入图片描述

我们看着里面的内容非常混乱,原因是将php代码进行了混淆,不易发现。
先简单还原一下。
在这里插入图片描述

上面是进行了replace替换操作,
在这里插入图片描述

执行替换之后,出现了create_function.
create_function可以在内部执行eval,所以可以实现执行命令操作。
$x也是进行了一个拼接。

似乎还是不容易查看,那么我们再努力一下
在这里插入图片描述
在这里插入图片描述

分析:
传了两个值,
然后函数是异或操作
先得出字符串长度,然后,将索引相同的值进行异或操作,拼接起来,最后复制
接收了两个数据,一个是HTTP_REFERER,一个是HTTP_ACCEPT_LANGUAGE,
然后两个数据判断进行与运算
成立,将REFERER字段进行拆解,通过url的组成拆解
在这里插入图片描述query字段取出复制q
在这里插入图片描述

下面再将q进行拆分
在这里插入图片描述

去除之后,正则匹配,匹配language,

在第一次匹配,匹配到了zh-CN,因为,的原因结束了,第一次匹配结束
第二次匹配,匹配到了zh;q=0.8,第二次匹配结束
第三次匹配,匹配到en;q=0.6。第三次匹配结束
这里还存在(),正则里面代表组,所以正则匹配之后,生成了一个数组,里面的内容,数组赋值给了m
在这里插入图片描述

然后又进入判断。
成立,创建了一个SESSION,赋值,创建两个字符串。
m数组内容拼接i,然后i和前面的值进行MD5,取前三位,再赋值,后面亦如此
定义一个空字符串。循环拼接
判断h在字符串p的索引,成立,i放入数组,此时i没有值,截取p的从第3位到最后

再判断
成立,拼接进数组的i里面,此时i有值了
判断是否在里面,再判断,拼接
先截取,再替换,再base64解码,最后异或解密。这一步至关重要
这一步,主要是进行数据解压缩

在生成木马时,进行了异或,base64封装,再替换,最后拼接,完成压缩。想要解压缩,就要反其道而行之。

在这里插入图片描述

referer数据十分可疑,language比较正常,但是也是需要配置,也就是说两者缺一不可,所以最后,使用的是referer头和language传递数据

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/92142.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

IDEA快速设置Services窗口

现在微服务下面会有很多SpringBoot服务,Services窗口方便我们管理各个SpringBoot服务,但有时IDEA打开项目后无法的看到Services窗口,以下步骤可以解决!

系统架构设计高级技能 · 安全架构设计理论与实践

系列文章目录 系统架构设计高级技能 软件架构概念、架构风格、ABSD、架构复用、DSSA(一)【系统架构设计师】 系统架构设计高级技能 系统质量属性与架构评估(二)【系统架构设计师】 系统架构设计高级技能 软件可靠性分析与设计…

图床项目进度(二)——动态酷炫首页

前言: 前面的文章我不是说我简单copy了站友的一个登录页吗,我感觉还是太单调了,想加一个好看的背景。 但是我前端的水平哪里够啊,于是在网上找了找制作动态背景的插件。 效果如下图。 如何使用 这个插件是particles.js 安装…

[NLP]深入理解 Megatron-LM

一. 导读 NVIDIA Megatron-LM 是一个基于 PyTorch 的分布式训练框架,用来训练基于Transformer的大型语言模型。Megatron-LM 综合应用了数据并行(Data Parallelism),张量并行(Tensor Parallelism)和流水线并…

使用代理突破浏览器IP限制

一、实验目的: 主要时了解代理服务器的概念,同时如何突破浏览器IP限制 二、预备知识: 代理服务器英文全称是Proxy Server,其功能就是代理网络用户去取得网络信息。形象的说:它是网络信息的中转站,特别是它具有一个cac…

4.15 TCP Keepalive 和 HTTP Keep-Alive 是一个东西吗?

目录 HTTP 的 Keep-Alive TCP 的 Keepalive 总结: HTTP的Keep-Alive,是应用层(用户态)实现的,称为HTTP长连接; TCP的Keepalive,是由TCP层(内核态)实现的,…

常见的移动端布局

流式布局&#xff08;百分比布局&#xff09; 使用百分比、相对单位&#xff08;如 em、rem&#xff09;等来设置元素的宽度&#xff0c;使页面元素根据视口大小的变化进行调整。这种方法可以实现基本的自适应效果&#xff0c;但可能在不同设备上显示不一致。 <!DOCTYPE ht…

深度学习5:长短期记忆网络 – Long short-term memory | LSTM

目录 什么是 LSTM&#xff1f; LSTM的核心思路 什么是 LSTM&#xff1f; 长短期记忆网络——通常被称为 LSTM&#xff0c;是一种特殊的RNN&#xff0c;能够学习长期依赖性。由 Hochreiter 和 Schmidhuber&#xff08;1997&#xff09;提出的&#xff0c;并且在接下来的工作中…

多维时序 | MATLAB实现BiTCN-BiGRU-Attention多变量时间序列预测

多维时序 | MATLAB实现SABO-CNN-GRU-Attention多变量时间序列预测 目录 多维时序 | MATLAB实现SABO-CNN-GRU-Attention多变量时间序列预测预测效果基本介绍模型描述程序设计参考资料 预测效果 基本介绍 多维时序 | MATLAB实现BiTCN-BiGRU-Attention多变量时间序列预测。 模型描…

python编程环境使用技巧-任务1-pip包管理工具

概要 任务1-pip包管理工具 pip是Python的包管理工具&#xff0c;它用于安装、升级和管理Python的第三方库以及它们的依赖关系。 在命令提示符或终端窗口中&#xff0c;可以使用以下常用的pip命令&#xff1a; 安装包&#xff1a;pip install package_name。它会自动下载并安…

OpenCV使用CMake和MinGW-w64的编译安装

OpenCV使用CMake和MinGW-w64的编译安装中的问题 问题&#xff1a;gcc: error: long: No such file or directory** C:\PROGRA~2\Dev-Cpp\MinGW64\bin\windres.exe: preprocessing failed. modules\core\CMakeFiles\opencv_core.dir\build.make:1420: recipe for target ‘modul…

个人记录:划分

原始数据展示 每五个大图移动一次所有的大图名称的小图片。 读取指定图片格式的图片名称&#xff0c;内置函数map执行,文件移动 图片01-17[:27] 图片17-70要改27为25 import os import shutil # source dataset/sat_train/ source_path "/mnt/sdb1/fenghaixia/dsm/da…

JDK1.8 安装教程(linux)

一、 检查当前系统是否已安装JDK 通过命令java –version 如果有出现如下图提示表示有安装&#xff0c;则无需再安装 二、 安装JDK 通过JDK官网https://www.oracle.com/上下载需要的JDK 版本&#xff0c;下载完成后上传到linux 系统上指定的文件夹下。&#xff08;可以用宝…

基于大语言模型知识问答应用落地实践 – 知识库构建(上)

01 背景介绍 随着大语言模型效果明显提升&#xff0c;其相关的应用不断涌现呈现出越来越火爆的趋势。其中一种比较被广泛关注的技术路线是大语言模型&#xff08;LLM&#xff09;知识召回&#xff08;Knowledge Retrieval&#xff09;的方式&#xff0c;在私域知识问答方面可以…

自然语言处理学习笔记(七)————字典树效率改进

目录 1. 首字散列其余二分的字典树 2.双数组字典树 3.AC自动机(多模式匹配) &#xff08;1&#xff09;goto表 &#xff08;2&#xff09;output表 &#xff08;3&#xff09;fail表 4.基于双数组字典树的AC自动机 字典树的数据结构在以上的切分算法中已经很快了&#x…

Nginx详解 第一部分:编译安装Nginx+Nginx模块

Part 1 一 、HTTP 和 Nginx1.1 套接字Socket1.2 URL1.2.1 定义1.2.1 URL和URN的区别1.2.3 URL组成 1.3 请求访问完整过程详解 二、I/O模型 处理高并发的时候用2.1 I/O模型简介2.2 多路复用I/O型2.3 异步I/O模型2.4 事件模型 select poll epoll 三、NGINX概述3.1 简介3.2 NGINX和…

ctfshow-web-红包题第六弹

0x00 前言 CTF 加解密合集CTF Web合集 0x01 题目 0x02 Write Up 首先跑一下字典&#xff0c;这里用的dirmap,可以看到有一个web.zip 下载下来之后发现是一个网站备份&#xff0c;备份的是check.php.bak 然后接着看&#xff0c;可以看到这里不太可能是sql注入&#xff0c;有…

2023年 Java 面试八股文(25w字)

0.Java八股文上&#xff08;25w字&#xff09;2.3w 1.集合容器 2.Java基础链接 目录 一.Java 基础面试题1.Java概述Java语言有哪些特点&#xff1f;Java和C有什么关系&#xff0c;它们有什么区别&#xff1f;JVM、JRE和JDK的关系是什么&#xff1f;**什么是字节码?**采用字…

【Java架构-包管理工具】-Maven进阶(二)

本文摘要 Maven作为Java后端使用频率非常高的一款依赖管理工具&#xff0c;在此咱们由浅入深&#xff0c;分三篇文章&#xff08;Maven基础、Maven进阶、私服搭建&#xff09;来深入学习Maven&#xff0c;此篇为开篇主要介绍Maven进阶知识&#xff0c;包含坐标、依赖、仓库、生…

ethers.js1:ethers的安装和使用

ethers官方文档&#xff1a;Documentation 1、ethers简介&#xff1a; ethers.js是一个完整而紧凑的开源库&#xff0c;用于与以太坊区块链及其生态系统进行交互。如果你要写Dapp的前端&#xff0c;你就需要用到ethers.js。 与更早出现的web3.js相比&#xff0c;它有以下优点…