云曦暑期学习第四周——流量、日志分析

1 日志分析

1.1 What is 日志

日志,是作为记录系统与服务最直接有效的方法。在日志中,可以发现访问记录以及发现攻击线索。日志分析也是最常用的分析安全 事件所采用的途径。系统日志和 web 日志分别记录了不同内容,为分析攻击提供了有效证据。

日志分析主要分成两种:

●Web日志分析

●系统日志分析

1.2 Web日志分析

1.2.1日志格式类型:

目前在比赛中比较常见的WEB日志格式主要有两类:

●Apache的NCSA日志格式,NCSA格式分为:

NCSA普通日志格式(CLF)

NCSA扩展日志格式(ECLF)

●IIS的W3C日志格式

1.2.2常用日志分析方法:

常见的日志分析方法有两种:

1.特征字符分析

2.访问频率分析

特征字符分析:

特征字符分析法:顾名思义,就是根据攻击者利用的漏洞特征,进行判断攻击者使用的是哪一种攻击。

常见的类型有以下:SQL注入、XSS跨站脚本攻击、恶意文件上传、一句话木马连接等。

SQL注入:

漏洞特征:存在SQL注入语句

常见的SQL注入语句有:

通过报错注入、布尔盲注、时间盲注判断是否存在注入:

字符型

 参数后加单引号,报错:sql1.php?name=admin'

 参数后加' and '1'='2和' and '1'='2,访问正常:sql1.php?name=admin' and '1'='1       /sql1.php?name=admin' and '1'='2

 参数后加' and sleep(3)  --,是否延迟3秒打开:sql1.php?name=admin' and/or sleep(3)--

数字型

参数后加单引号,报错:sql2.php?id=1'

参数后加and 1=1和and 1=2,访问正常:sql2.php?id=1 and 1=1/sql2.php?id=1 and 1=2

参数后加and sleep(5),是否延迟3秒打开:sql2.php?id=1 and sleep(5)

通过各种注入语句进行SQL注入攻击:

联合查询注入

union select

order by

报错注入(常见报错注入函数)

floor()

extractvalue()

updatexml()

geometrycollection()

multipoint()

polygon()

multipolygon()

linestring()

multilinestring()

exp()

访问频率分析:

访问频率分析:就是通过查看攻击者访问的频率来判断攻击者使用的是哪一种攻击。

常见的类型有有以下:SQL盲注、敏感目录爆破、账号爆破、Web扫描。

1.3系统日志分析

1.3.1  windows系统日志

简介

Windows系统默认以二进制XML Windows事件日志记录格式(由.evtx扩展名指定)将日志存储在%SystemRoot%\System32\Winevt\logs目录中。日志也可以使用日志订阅远程存储。对于远程日志记录,运行Windows Event Collector服务的远程系统订阅其他系统生成的日志。

类型

Windows日志一般在事件查看器中可以进行查看,通常分为五个:应用程序、安全、Setup、系统、转发事件。并且这五个中又以应用程序、安全以及系统日志较为常见。

应用程序日志

记录了应用程序的运行情况,包括运行出错、甚至于出错的原因

默认存放路径:%SystemRoot%\System32\Winevt\Logs\Application.evtx。

系统日志

记录操作系统组件产生的事件,主要包括驱动程序、系统组件和应用软件的崩溃以及数据丢失错误等。默认存放路径:%SystemRoot%\System32\Winevt\Logs\System.evtx

安全日志

记录系统的安全审计事件,包含各种类型的登录日志、对象访问日志、进程追踪日志、特权使用、帐号管理、策略变更、系统事件。这个日志一般是安全工程师重点关注对象。

默认存放路径:%SystemRoot%\System32\Winevt\Logs\Security.evtx

查看本地日志

Win+R打开运行框,输入eventvwr.msc打开事件查看器,当使用默认的审核策略时,显示的日志内容仅仅是一些简单的内容,当修改审核策略之后,日志记录的内容会有所增加


1.3.2Linux系统日志

Linux系统拥有非常灵活和强大的日志功能,可以保存几乎所有的操作记录,并可以从中检索出我们需要的信息。

大部分Linux发行版默认的日志守护进程为 syslog,位于 /etc/syslog 或 /etc/syslogd 或/etc/rsyslog.d,默认配置文件为 /etc/syslog.conf 或 rsyslog.conf,任何希望生成日志的程序都可以向 syslog 发送信息。

Linux系统内核和许多程序会产生各种错误信息、警告信息和其他的提示信息,这些信息对管理员了解系统的运行状态是非常有用的,所以应该把它们写到日志文件中去。完成这个过程的程序就是syslog。syslog可以根据日志的类别和优先级将日志保存到不同的文件中。

默认配置下,日志文件通常都保存在“/var/log”目录下。

常见的日志类型,但并不是所有的Linux发行版都包含这些类型
 

1.4日志分析例题

1.4.1[陇剑杯 2021]日志分析(问1)

 打开access.log文件,搜索200,发现www.zip文件

1.4.2[陇剑杯 2021]日志分析(问2)

 搜索tmp

 这串编码进行了url编码,解码一下,看到sess_car

 1.4.3[陇剑杯 2021]日志分析(问3)

 发现存在反序列化,类就是SplFileObject

 1.4.4 [陇剑杯 2021]简单日志分析(问1)

这一串看着就不正常,状态量为500,参数为user

 

1.4.5[陇剑杯 2021]简单日志分析(问2)

 把参数值解密

 绝对路径为

/Th4s_IS_VERY_Import_Fi1e

1.4.6[陇剑杯 2021]简单日志分析(问3)

 

2 流量分析

2.1简介

总的来说有以下几个步骤

  • 总体把握
    • 协议分级
    • 端点统计
  • 过滤赛选
    • 过滤语法
    • Host,Protocol,contains,特征值
  • 发现异常
    • 特殊字符串
    • 协议某字段
    • flag 位于服务器中
  • 数据提取
    • 字符串取
    • 文件提取

比赛中的流量分析可以概括为以下三个方向:

  • 流量包修复
  • 协议分析
  • 数据提取

2.2wireshark简介

2.3基本语法

2.3常见关键字

2.4 例题

2.4.1  [CISCN 2023 初赛]被加密的生产流量

右击modbus流量包,选择追踪TCP流 

 可以看到这一串被加密的字符

 解密一下,就得到flag啦

2.4.2 buuctf 被嗅探的流量

 

过滤http流

 看到在第五个流量包中存在image等图像文件,于是追踪流

得到flag

2.4.3 攻防世界 流量分析1

统计协议分级

 发现主要是tcp协议,就在tcp协议里面找flag

tcp contains "flag"

追踪tcp流,发现一串编码

 解码,发现进行了两次url编码。这是时间盲注

然后以时间为规则来晒选HTTP协议

sleep(3)持续的时间大概是0.018ms

查询语句:frame.time_delta>0.018&&http,

我们得到了以时间排序好的http报文

同样追踪tcp流,然后进行解码,得到ascii码,49对应1

然后以此类推,我是手动对比ascii,得到flag

flag{1qwy2781}

2.4.4 攻防世界 流量分析2

 协议分级 

尝试导出http流 

 得到很多txt文件,拼接起来

拼接得 fl{17uaji1l}

修改成flag

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

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

相关文章

【敏捷开发】测试驱动开发(TDD)

测试驱动开发(Test-Driven Development,简称TDD)是敏捷开发模式中的一项核心实践和技术,也是一种设计方法论。TDD有别于以往的“先编码,后测试”的开发模式,要求在设计与编码之前,先编写测试脚本…

java+python企业会议在线办公微信小程序 ia505

一、小程序端功能 该部分内容提供员工注册、员工资料修改、通知公告、部门信息、会议记录等等功能。 二、管理员管理功能 该部分内容包含了首页、个人中心、通知公告管理、员工管理、部门信息管理、职位信息管理、会议记录管理、待办事项管理、工资信息管理、留言板管理、系统管…

Spring Boot 单元测试

目录 1.什么是单元测试? 2.单元测试的优点 3.Spring Boot 单元测试使用 3.1 生成单元测试的类 3.2 添加 Spring Boot 框架测试注解:SpringBootTest 3.3 添加单元测试业务逻辑 3.4 注解 Transactional 4. 断言 1.什么是单元测试? 单元…

Flink开发环境准备: centos-jdk8

linux-jdk8 - Flink开发环境准备 一、基本介绍二、环境准备1.1 JDK环境1.2 开发工具1.3 Maven环境 三、flink下载安装配置3.1 Flink下载3.2 flink本地模式安装 - linux3.3 常用配置3.4 日志的查看和配置 四、单机 Standalone 的方式运行 Flink 一、基本介绍 Flink底层源码是基于…

Open3D (C++) 计算矩阵的广义逆

目录 一、算法原理1、广义逆2、计算过程二、代码实现三、结果展示四、参考链接本文由CSDN点云侠原创,原文链接。爬虫网站自重,把自己当个人,爬些不完整的误导别人有意思吗???? 一、算法原理 1、广义逆 非方阵不存在逆,但是存在广义逆(伪逆)。对于一个矩阵

【大数据】-- docker 启动 mysql 5.7,开启 binlog

1.说明 mysql binlog:二进制日志文件。它有两个作用,一是增量备份,即只备份新增的内容,可以用于恢复数据;二是用于主从复制等,即主节点维护了一个binlog日志文件,从节点从binlog中同步数据。 …

ChatGPT下架官方检测工具,承认无法鉴别AI内容

去年底,OpenAI 推出的 ChatGPT ,带来了生成式人工智能涌现的热潮。它不仅能够协助完成撰写邮件、视频脚本、文案、翻译、代码等任务,还能通过学习和理解人类的语言来进行对话,并根据聊天的上下文进行互动。 但随之而来的争议也让人…

【雕爷学编程】Arduino动手做(186)---WeMos ESP32开发板15

37款传感器与模块的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止37种的。鉴于本人手头积累了一些传感器和执行器模块,依照实践出真知(一定要动手做)的理念,以学习和交流为目的&#x…

Java 8 中使用 Stream 遍历树形结构

在实际开发中,我们经常会开发菜单,树形结构,数据库一般就使用父id来表示,为了降低数据库的查询压力,我们可以使用Java8中的Stream流一次性把数据查出来,然后通过流式处理,我们一起来看看&#x…

找不到org.apache.http.annotation.NotThreadSafe的类文件

问题现象 最近在做一个调用包含请求体的GET请求功能的时候,引用了 httpclient-4.5.2.jar 和 httpcore-4.4.5.jar。 在工程编译环节报错如下: 原因分析 httpcore 和 httpclient 的版本不匹配。 解决方案 将 httpcore 的版本由 4.4.5 改为 4.4.4&am…

Unity学习参考文档和开发工具

☺ unity的官网文档:脚本 - Unity 手册 ■ 学习方式: 首先了解unity相关概述,快速认识unity编辑器,然后抓住重点的学:游戏对象、组件|C#脚本、预制体、UI ☺ 学习过程你会发现,其实Unity中主要是用c#进行开…

大麦订单生成器 大麦一键生成订单

后台一键生成链接,独立后台管理 教程:修改数据库config/Conn.php 不会可以看源码里有教程 下载源码程序:https://pan.baidu.com/s/16lN3gvRIZm7pqhvVMYYecQ?pwd6zw3

基于C#的应用程序单例唯一运行的完美解决方案 - 开源研究系列文章

今次介绍一个应用程序单例唯一运行方案的代码。 我们知道,有些应用程序在操作系统中需要单例唯一运行,因为程序多开的话会对程序运行效果有影响,最基本的例子就是打印机,只能运行一个实例。这里将笔者单例运行的代码共享出来&…

安防监控视频融合EasyCVR平台接入RTSP流后设备显示离线是什么原因?

安防监控视频EasyCVR视频汇聚融合平台基于云边端智能协同架构,具有强大的数据接入、处理及分发能力,平台支持海量视频汇聚管理、全网分发、按需调阅、鉴权播放、智能分析等视频能力与服务。平台开放度高、兼容性强、可支持灵活拓展与第三方集成&#xff…

聊聊比亚迪的DM-i技术

比亚迪的DM-i技术是一种混合动力技术,结合了燃油发动机和电动技术,旨在提高汽车的燃油经济性和环境友好性。 DM-i技术的核心是搭载了一台高效的燃油发动机和一组电动机,通过电子控制系统实现两者的协同工作。在日常行驶中,汽车首先…

Baumer工业相机堡盟工业相机如何通过BGAPISDK获取相机接口数据吞吐量(C++)

Baumer工业相机堡盟工业相机如何通过BGAPISDK里函数来获取相机当前数据吞吐量(C) Baumer工业相机Baumer工业相机的数据吞吐量的技术背景CameraExplorer如何查看相机吞吐量信息在BGAPI SDK里通过函数获取相机接口吞吐量 Baumer工业相机通过BGAPI SDK获取数…

vue3中的自定义指令用法

我们都知道vue2中自定义指令全局和局部是这样写的 局部: 全局: 可vue3写法发生改变,如下: 全局: 局部:

台式机/工控机通过网线共享笔记本电脑无线网络linux系统下 usb网卡的驱动安装

一、台式机/工控机通过网线共享笔记本电脑无线网络 1、 将台式机通过网线和笔记本连接。 2、 将笔记本的“本地连接”和“无线网络连接”的ipv4均设置为自动获取。 4.修改台式机的IP地址为如下(对应笔记本信息) IP地址为192.168.XXX.12 子网掩码为255.2…

JavaScript |(六)DOM事件 | 尚硅谷JavaScript基础实战

学习来源:尚硅谷JavaScript基础&实战丨JS入门到精通全套完整版 文章目录 📚事件对象📚事件的冒泡📚事件的委派📚事件的绑定🐇赋值绑定🐇addEventListener()🐇attachEvent()&…

javaAPI(五):System、Math、BigInteger、BigDecimal

System类 System类代表系统,系统级的很多属性和控制方法都放置在该类的内部。该类位于java.lang包。 由于该类的构造器是private的,所以无法创建该类的对象,也就是无法实例化该类。其内部的成员,所以也可以很方便的进行调用。变量…