流量、日志分析分析
这周主要以做题为主 先找找理论看然后在buuctrf以及nssctf找了题做
了解wireshark
Wireshark是一款开源的网络协议分析软件,具有录制和检查网络数据包的功能,可以深入了解网络通信中的传输协议、数据格式以及通信行为。Wireshark可以捕获发送和接收的数据包,并将它们展示在用户友好的图形界面上,方便用户进行分析。
使用Wireshark,用户可以观察网络数据包中的各种细节信息,例如IP地址、端口号、数据内容等。Wireshark支持各种操作系统和协议,如果用户想要学习网络协议或解决网络问题,Wireshark是不可缺少的工具之一。
Wireshark软件是Windows、UNIX、Linux和Macintosh OS X系统上非常流行的协议分析器,也就是我们常说的抓包软件。
WinPacp,一种捕获网络数据流的Windows驱动程序。对于Wireshaark软件而言,只有与WinPcap(或叫作pcap)数据包捕获驱动程序和兼容网卡一起使用是,才会显示错误。
Pacp,packet capture,是基于UNIX应用编程接口(API)构建的,又称为libpcap。Winpacp是Windows兼容版,是确保Wireshark分析器正常工作的一个重要组件。
pacp文件
pcap文件是常用的数据报存储格式,可以理解为就是一种文件格式,只不过里面的数据是按照特定格式存储的,所以我们想要解析里面的数据,也必须按照一定的格式。
普通的记事本打开pcap文件显示的是乱码,用安装了HEX-Editor插件的Notepad++打开,能够以16进制数据的格式显示,或者使用sublime打开以十六进制的格式显示。用wireshark这种抓包工具就可以正常打开这种文件,愉快地查看里面的网络数据报了,同时wireshark也可以生成这种格式的文件。
流量分析步骤:
总的来说有以下几个步骤
- 总体把握
- 协议分级
- 端点统计
- 过滤赛选
- 过滤语法
- Host,Protocol,contains,特征值
- 发现异常
- 特殊字符串
- 协议某字段
- flag 位于服务器中
- 数据提取
- 字符串取
- 文件提取
总的来说比赛中的流量分析可以概括为以下三个方向:
- 流量包修复
- 协议分析
- 数据提取
还是打算一边看题一边找知识点,光看理论记不住
这里推荐两个博主的文章 是用wireshark分析imcp以及arp协议的流量
使用wireshark抓取ICMP流量包并分析ICMP协议_wireshark抓包icmp分析_hibiscusyico的博客-CSDN博客
Wireshark抓包分析ARP协议_wireshark抓包arp分析_士别三日wyx的博客-CSDN博客
BUUCTF
[DDCTF2018]流量分析
解压之后发现有两个文件

先看一下txt文件

说是有私钥
wireshark打开pcap文件看看
大概浏览发现什么协议的流量包都有
这里提一下tls协议 因为有这个协议所以会想到HTTP协议被加密了
TLS是一种加密协议,用于保护网络通信的安全性和隐私性。它使用公钥加密和对称密钥加密两种加密方式来保护通信的安全性,可以防止黑客窃取用户的敏感信息。TLS 1.0、TLS 1.1和TLS 1.2分别于1999年、2006年和2008年发布,进一步增强了安全性和性能。常用的加密算法包括AES、RSA、MD5等。
追踪一下http的 发现没有 提示说补齐私钥格式,说明有部分流量信息被加密了,http流很重要,里边有传输的内容数据,因此搜索http
http流打开需要私钥以及私钥的格式,一般私钥就藏在tcp流中,在过滤窗输入tcp contains"KEY"

第一个里面什么都没有,在第二个里面追踪tcp流找到了一串base64编码,并且前面提示到是有一个png图片传输的 所以bsea64转图片打开

得到一张图片

把这个复制下来进行md5对比
-----BEGIN RSA PRIVATE KEY-----
MIICXAIBAAKBgQDCm6vZmclJrVH1AAyGuCuSSZ8O+mIQiOUQCvN0HYbj8153JfSQ
LsJIhbRYS7+zZ1oXvPemWQDv/u/tzegt58q4ciNmcVnq1uKiygc6QOtvT7oiSTyO
vMX/q5iE2iClYUIHZEKX3BjjNDxrYvLQzPyGD1EY2DZIO6T45FNKYC2VDwIDAQAB
AoGAbtWUKUkx37lLfRq7B5sqjZVKdpBZe4tL0jg6cX5Djd3Uhk1inR9UXVNw4/y4
QGfzYqOn8+Cq7QSoBysHOeXSiPztW2cL09ktPgSlfTQyN6ELNGuiUOYnaTWYZpp/
QbRcZ/eHBulVQLlk5M6RVs9BLI9X08RAl7EcwumiRfWas6kCQQDvqC0dxl2wIjwN
czILcoWLig2c2u71Nev9DrWjWHU8eHDuzCJWvOUAHIrkexddWEK2VHd+F13GBCOQ
ZCM4prBjAkEAz+ENahsEjBE4+7H1HdIaw0+goe/45d6A2ewO/lYH6dDZTAzTW9z9
kzV8uz+Mmo5163/JtvwYQcKF39DJGGtqZQJBAKa18XR16fQ9TFL64EQwTQ+tYBzN
+04eTWQCmH3haeQ/0Cd9XyHBUveJ42Be8/jeDcIx7dGLxZKajHbEAfBFnAsCQGq1
AnbJ4Z6opJCGu+UP2c8SC8m0bhZJDelPRC8IKE28eB6SotgP61ZqaVmQ+HLJ1/wH
/5pfc3AmEyRdfyx6zwUCQCAH4SLJv/kprRz1a1gx8FR5tj4NeHEFFNEgq1gmiwmH
2STT5qZWzQFz8NRe+/otNOHBR2Xk4e8IS+ehIJ3TvyE=
-----END RSA PRIVATE KEY-----
把上边这个另存一个文件然后在wireshark-编辑-首选项-Protocols-tls中打开

我的出了一点小问题,打印出来日志 但是自己不显示密钥添加 我们就可以自己添加一下
ip是127.0.0.1 端口一般都是433 tcp协议 后面加上自己的存储rsa密钥的地址 发现出现了HTTP协议

在追踪一下

找到了flag
这题的考点主要还是耐心程度 发现tls协议 找到思路然后在tcp里面查询key找到bsea64编码的key
再识图输入密钥 找到http协议
攻防世界
流量分析1

大概浏览了一下 发现有http tcp以及tls协议 先追踪一下http协议
发现了sql注入以及ssrf注入

对post 报文进行解码 发现是延时注入 因为是ssrf注入 所以需要解码两次

_POST /admin.php HTTP/1.1
Host: localhost:80
Connection: close
Content-Type: application/x-www-form-urlencoded
Content-Length: 80
id=1) and if((ascii(substr((select flag from flag),14,1))='114'),sleep(3),0) --
看出盲注是从flag表里面查出数据,substr每次提取1位与ASCII码进行比较,成功命中的话,sleep 3秒,wireshark输入基于时间过滤条件:http.time >= 3
或者使用筛选语句选出对应的延迟大于三的http数据包
frame.time_delta>3&&http

对这些包进行url编码复原 找出ascii码 在对应字符串就是flag
可以写脚本来代替 但是不会写就一个一个复制然后解码去找ascii编码

标蓝的地方
得到的ascii编码
102,108,97,103,123,49,113,119,121,50,55,56,49,125
flag{1qwy2781}
流量分析2

给的提示,关注流量包本身

打开之后发现没几个协议 先追踪一个tcp协议
发现从追踪流2到追踪流12的最底下有flag的字样 拼接一下就能得到flag

flag{17uaji1l}
nssctf
[陇剑杯 2021]日志分析(问1)

说是有源码泄露 用记事本打开 看看

发现存在请求码 200以及404

先找一下请求码为200的 发现了www.zip

NSSCTF{www.zip}
[陇剑杯 2021]日志分析(问2)

说往/tmp目录写入了一个文件 先找一下
搜索tmp出来了这个 再结合下图 确定文件名是 sess_car

flag: NSSCTF{sess_car}
[陇剑杯 2021]日志分析(问3)
还是在刚才那个地方

所以 flag: NSSCTF{SplFileObject}
[陇剑杯 2021]简单日志分析(问1)
浏览发现传参 user

flag:NSSCTF{user}
[陇剑杯 2021]简单日志分析(问2)
找绝对路径 发现黑客传参的是bsea64编码 进行解码发现flag

flag: NSSCTF{/Th4s_IS_VERY_Import_Fi1e}
[陇剑杯 2021]简单日志分析(问3)
这篇日志一共有3个黑客传参记录 第三个就应该是第三问的答案

发现这里不仅是bsea64编码 还是url编码 先url解码在base64解码

得到flag : NSSCTF{192.168.2.197:8888}
日志分析_RuoLi_s的博客-CSDN博客这里推荐一篇博主的文章是日志分析总结的
流量分析很考验耐心以及细心程度还有对各种协议的了解程度 比如tls协议加密http协议 日志分析主要是快速浏览信息 找到关键信息 根据题目要求来做
相关文章:
流量、日志分析分析
这周主要以做题为主 先找找理论看然后在buuctrf以及nssctf找了题做 了解wireshark Wireshark是一款开源的网络协议分析软件,具有录制和检查网络数据包的功能,可以深入了解网络通信中的传输协议、数据格式以及通信行为。Wireshark可以捕获发送和接收的数…...
Go学习第八天
签名 func (a *Account) Sign(message []byte) ([]byte, error) {hash : crypto.Keccak256Hash(message)signature, err : crypto.Sign(hash.Bytes(), a.privateKeyECDSA)if err ! nil {log.Fatal(err)}signMsg : []byte(hexutil.Encode(signature))return signMsg, err }验签…...
算法练习--数值相关
文章目录 整型数组合并 整型数组合并 将两个整型数组按照升序合并,并且过滤掉重复数组元素。 输出时相邻两数之间没有空格。 输入描述: 1 输入第一个数组的个数 2 输入第一个数组的所有数值 3 输入第二个数组的个数 4 输入第二个数组的所有数值 输出描…...
RobotFramework的安装过程及应用举例
一、安装python3.8.0 二、安装wxPython C:\>pip install -U wxPython Collecting wxPythonObtaining dependency information for wxPython from https://files.pythonhosted.org/packages/00/78/b11f255451f7a46fce2c96a0abe6aa8b31493c739ade197730511d9ba81a/wxPython-…...
WebGL系列教程:WebGL基础知识
下面我们来正式学习WebGL开发中的一些基本的概念和知识。 一、HTML画布 为了在 Web 上创建图形应用程序,HTML5 提供了一组丰富的功能,例如 2D Canvas、WebGL、SVG、3D CSS 转换和 SMIL。要编写 WebGL 应用程序,就需要用到 HTML5 的画布元素。 1.1 HTML5 画布 HTML5 的标…...
数据的逻辑结构和存储结构
数据结构的三要素 逻辑结构存储结构顺序存储链式存储索引存储散列存储 数据的运算 逻辑结构 逻辑结构是指数据元素之间的逻辑关系,即从逻辑关系上描述数据。它与数据的存储无关,是独立于计算机的。数据的逻辑结构分为线性结构和非线性结构 线性表是典型…...
观察者模式(C++)
定义 定义对象间的一种一对多(变化)的依赖关系,以便当一个对象(Subject)的状态发生改变时,所有依赖于它的对象都得到通知并自动更新。 ——《设计模式》GoF 使用场景 一个对象(目标对象)的状态发生改变,所有的依赖对…...
Web安全——Burp Suite基础上
Burp Suite基础 一、Burp Suite安装和环境配置如何命令行启动Burp Suite 二、Burp Suite代理和浏览器设置FireFox设置 三、如何使用Burp Suite代理1、Burp Proxy基本使用2、数据拦截与控制3、可选项配置Options客户端请求消息拦截服务器端返回消息拦截服务器返回消息修改正则表…...
面试题更新之-this指向问题
文章目录 this指向是什么常见情况下 this 的指向怎么修改this的指向 this指向是什么 JavaScript 中的 this 关键字用于引用当前执行代码的对象。它的指向是动态的,根据执行上下文的不同而变化。 常见情况下 this 的指向 全局作用域中的 this: 在全局作…...
商品推荐系统浅析 | 京东云技术团队
一、综述 本文主要做推荐系统浅析,主要介绍推荐系统的定义,推荐系统的基础框架,简单介绍设计推荐的相关方法以及架构。适用于部分对推荐系统感兴趣的同学以及有相关基础的同学,本人水平有限,欢迎大家指正。 二、商品…...
【力扣每日一题】2023.8.8 任意子数组和的绝对值的最大值
目录 题目: 示例: 分析: 代码: 题目: 示例: 分析: 题目给我们一个数组,让我们找出它的绝对值最大的子数组的和。 这边的子数组是要求连续的,让我们找出一个元素之和…...
SpringBoot Web开发静态资源处理
Web开发探究 简介 其实SpringBoot的东西用起来非常简单,因为SpringBoot最大的特点就是自动装配 使用SpringBoot的步骤: 1、创建一个SpringBoot应用,选择我们需要的模块,SpringBoot就会默认将我们的需要的模块自动配置好 2、手动…...
Dockerfile定制Tomcat镜像
Dockerfile中的打包命令 FROM : 以某个基础镜像作为此镜像的基础 RUN : RUN后面跟着linux常用命令,如RUN echo xxx >> xxx,注意,RUN 不能用于执行命令,因为每个RUN都是独立运行的,RUN 的cd对镜像中的…...
【计算机网络】概述及数据链路层
每一层只依赖于下一层所提供的服务,使得各层之间相互独立、灵活性好,已于实现和维护,并能促进标准化工作。 应用层:通过应用进程间的交互完成特定的网络应用,HTTP、FTP、DNS,应用层交互的数据单元被称为报…...
Java——基础语法(二)
前言 「作者主页」:雪碧有白泡泡 「个人网站」:雪碧的个人网站 「推荐专栏」: ★java一站式服务 ★ ★ React从入门到精通★ ★前端炫酷代码分享 ★ ★ 从0到英雄,vue成神之路★ ★ uniapp-从构建到提升★ ★ 从0到英雄ÿ…...
数据结构----算法--分治,快速幂
数据结构----算法–分治,快速幂 一.分治 1.分治的概念 分治法:分而治之 将一个问题拆解成若干个解决方式完全相同的问题 满足分治的四个条件 1.问题难度随着数据规模缩小而降低 2.问题可拆分 3.子问题间相互独立 4.子问题的解可合并 2.二分查找(折半搜索)…...
【ChatGPT 指令大全】怎么使用ChatGPT写履历和通过面试
目录 怎么使用ChatGPT写履历 寻求履历的反馈 为履历加上量化数据 把经历修精简 为不同公司客制化撰写履历 怎么使用ChatGPT通过面试 汇整面试题目 给予回馈 提供追问的问题 用 STAR 原则回答面试问题 感谢面试官的 email 总结 在职场竞争激烈的今天,写一…...
微服务:从header中获取用户存入当前线程
1、从网关gateway工程filter中解析token携带的当前用户信息并添加到header中 //获取token携带的idObject userid claimsBody.get("id");//在header中添加新的信息ServerHttpRequest serverHttpRequest request.mutate().headers(httpHeaders -> {httpHeaders.ad…...
C语言系列之原码、反码和补码
一.欢迎来到我的酒馆 讨论c语言中,原码、反码、补码。 目录 一.欢迎来到我的酒馆二.原码 二.原码 2.1在计算机中,所有数据都是以二进制存储的,但不是直接存储二进制数,而是存储二进制的补码。原码很好理解,就是对应的…...
程序框架——UI管理模块
UI基类BasePanel 负责帮助我们通过代码快速的找到所有的子控件,方便我们在子类中处理逻辑,节约找控件的工作量。 public class BasePanel : MonoBehaviour {//通过里式转换原则 来存储所有的控件private Dictionary<string, List<UIBehaviour>…...
DockerHub与私有镜像仓库在容器化中的应用与管理
哈喽,大家好,我是左手python! Docker Hub的应用与管理 Docker Hub的基本概念与使用方法 Docker Hub是Docker官方提供的一个公共镜像仓库,用户可以在其中找到各种操作系统、软件和应用的镜像。开发者可以通过Docker Hub轻松获取所…...
深入浅出:JavaScript 中的 `window.crypto.getRandomValues()` 方法
深入浅出:JavaScript 中的 window.crypto.getRandomValues() 方法 在现代 Web 开发中,随机数的生成看似简单,却隐藏着许多玄机。无论是生成密码、加密密钥,还是创建安全令牌,随机数的质量直接关系到系统的安全性。Jav…...
基础测试工具使用经验
背景 vtune,perf, nsight system等基础测试工具,都是用过的,但是没有记录,都逐渐忘了。所以写这篇博客总结记录一下,只要以后发现新的用法,就记得来编辑补充一下 perf 比较基础的用法: 先改这…...
【Go】3、Go语言进阶与依赖管理
前言 本系列文章参考自稀土掘金上的 【字节内部课】公开课,做自我学习总结整理。 Go语言并发编程 Go语言原生支持并发编程,它的核心机制是 Goroutine 协程、Channel 通道,并基于CSP(Communicating Sequential Processes࿰…...
VTK如何让部分单位不可见
最近遇到一个需求,需要让一个vtkDataSet中的部分单元不可见,查阅了一些资料大概有以下几种方式 1.通过颜色映射表来进行,是最正规的做法 vtkNew<vtkLookupTable> lut; //值为0不显示,主要是最后一个参数,透明度…...
Android15默认授权浮窗权限
我们经常有那种需求,客户需要定制的apk集成在ROM中,并且默认授予其【显示在其他应用的上层】权限,也就是我们常说的浮窗权限,那么我们就可以通过以下方法在wms、ams等系统服务的systemReady()方法中调用即可实现预置应用默认授权浮…...
(转)什么是DockerCompose?它有什么作用?
一、什么是DockerCompose? DockerCompose可以基于Compose文件帮我们快速的部署分布式应用,而无需手动一个个创建和运行容器。 Compose文件是一个文本文件,通过指令定义集群中的每个容器如何运行。 DockerCompose就是把DockerFile转换成指令去运行。 …...
JVM暂停(Stop-The-World,STW)的原因分类及对应排查方案
JVM暂停(Stop-The-World,STW)的完整原因分类及对应排查方案,结合JVM运行机制和常见故障场景整理而成: 一、GC相关暂停 1. 安全点(Safepoint)阻塞 现象:JVM暂停但无GC日志,日志显示No GCs detected。原因:JVM等待所有线程进入安全点(如…...
算法笔记2
1.字符串拼接最好用StringBuilder,不用String 2.创建List<>类型的数组并创建内存 List arr[] new ArrayList[26]; Arrays.setAll(arr, i -> new ArrayList<>()); 3.去掉首尾空格...
代码规范和架构【立芯理论一】(2025.06.08)
1、代码规范的目标 代码简洁精炼、美观,可持续性好高效率高复用,可移植性好高内聚,低耦合没有冗余规范性,代码有规可循,可以看出自己当时的思考过程特殊排版,特殊语法,特殊指令,必须…...
