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

news2024/10/6 2:30:29

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

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

C#--设计模式之单例模式

单例模式大概是所有设计模式中最简单的一种,如果在面试时被问及熟悉哪些设计模式,你可能第一个答的就是单例模式。 单例模式的实现分为两种: 饿汉式:在静态构造函数执行时就立即实例化。懒汉式:在程序执行过程中第一…

RaabitMQ(三) - RabbitMQ队列类型、死信消息与死信队列、懒队列、集群模式、MQ常见消息问题

RabbitMQ队列类型 Classic经典队列 这是RabbitMQ最为经典的队列类型。在单机环境中,拥有比较高的消息可靠性。 经典队列可以选择是否持久化(Durability)以及是否自动删除(Auto delete)两个属性。 Durability有两个选项,Durable和Transient。 Durable表…

mysql高级三:sql性能优化+索引优化+慢查询日志

内容介绍 单表索引失效案例 0、思考题:如果把100万数据插入MYSQL ,如何提高插入效率 (1)关闭自动提交,只手动提交一次 (2)删除除主键索引外其他索引 (3)拼写mysql可以执…

matlab智能算法程序包89套最新高清录制!matlab专题系列!

关于我为什么要做代码分享这件事? 助力科研旅程! 面对茫茫多的文献,想复现却不知从何做起,我们通过打包成品代码,将过程完善,让您可以拿到一手的复现过程以及资料,从而在此基础上,照…

CNN成长路:从AlexNet到EfficientNet(02)

一、说明 在~10年的深度学习中,进步是多么迅速!早在 2012 年,Alexnet 在 ImageNet 上的准确率就达到了 63.3% 的 Top-1。现在,我们超过90%的EfficientNet架构和师生训练(teacher-student)。 二、第一阶段 …

白盒测试怎么做

一、什么是白盒测试 白盒测试又称结构测试、逻辑驱动测试或基于代码的测试。 白盒测试是一种测试用例设计方法,盒子指的是被测试的软件,白盒指的是盒子是可视的,即清楚盒子内部的东西以及里面是如何运作的。 "白盒"法需要测试者…

Spring学习笔记——2

Spring学习笔记——2 1、Bean的基本注解开发1.1、注解版本和Component简介1.2、Component使用1.3、Component的三个衍生注解 二、Bean依赖注入注解开发2.1、依赖注入相关注解2.2、Autowired扩展 三、非自定义Bean注解开发四、Bean配置类的注解开发五、Spring注解的解析原理六、…

解决Vue+Element UI使用表单rules国际化时From表单验证信息不能实时更新

说明:该篇博客是博主一字一码编写的,实属不易,请尊重原创,谢谢大家! 博主在工作之余开始进行自动化测试平台的开发,虽然已经996一个月了但是还是在使劲挤时间做这件事情,目前平台使用前端框架vu…

mysql再docker中运行,直接在实体机上运行mysql命令初始化数据库数据

背景 项目上我们使用docker安装mysql,项目启动的时候需要利用sql语句初始化数据。 直接在实体上是识别不到mysql命令的。 实现方式 实现方式1:在docker容器内部执行sql语句 1. 将sql文件上传到容器内 docker cp /root/1.sql d5:/home/ 说明&#…

日期格式化的最佳实践:如何在Java中处理日期格式化

文章目录 前言一、使用format()方法二、使用注解JsonFormat三、使用消息转换器1.定义用户类2.重写DateSerializer 方法3.定义对象映射器:4.定义消息转换器5.调用测试 总结 前言 当涉及到日期格式化时,了解正确的方式和最佳实践是至关重要的。 日期格式化…

Stephen Wolfram:ChatGPT 的训练

The Training of ChatGPT ChatGPT 的训练 OK, so we’ve now given an outline of how ChatGPT works once it’s set up. But how did it get set up? How were all those 175 billion weights in its neural net determined? Basically they’re the result of very large…

目标检测与跟踪 (3)- TensorRTYOLO V8性能优化与部署测试

系列文章目录 目标检测与跟踪 (1)- 机器人视觉与YOLO V8_Techblog of HaoWANG的博客-CSDN博客 目标检测与跟踪 (2)- YOLO V8配置与测试_Techblog of HaoWANG的博客-CSDN博客 目录 系列文章目录 前言 YOLO v8 TensorRT 一、…

等保三级中“身份鉴别”要求与2FA双因子认证有何关联?

为了保护信息的安全,我国实行对信息及信息载体按照重要性等级分别进行保护,也就是信息安全等级保护制度。根据信息系统在国家安全、经济建设、社会生活中的重要程度,信息系统遭到破坏后对国家安全、社会秩序、公共利益以及公民、法人和其他组…

c++(类型转换+IO)[30]

类型转换 意义相近的类型------隐式类型转换 意义不想近的类型,值转换后有意义------显示的强制类型转换 static_cast 任何隐式类型的转换,非多态类型的转换(静态转换),意义相近的转换。 用于常见的隐式类型转换&am…

Spring Boot数据访问基础知识与JDBC简单实现

目录 Spring Boot数据访问基础知识 Spring Data ORM JDBC JPA JDBC简单实现 步骤1:新建Maven项目,添加依赖 步骤2:配置数据源—让程序可以访问到 步骤3:配置数据源—让IDEA可以访问到 步骤4:添加数据库和表 …

今天面了一个来字节要求月薪24K,明显感觉他背了很多面试题...

最近有朋友去字节面试,面试前后进行了20天左右,包含4轮电话面试、1轮笔试、1轮主管视频面试、1轮hr视频面试。 据他所说,80%的人都会栽在第一轮面试,要不是他面试前做足准备,估计都坚持不完后面几轮面试。 其实&…

4.DNS和负载均衡

文章目录 coreDNS概念部署croeDNS测试 kubernetes多master集群结构master节点部署 负载均衡配置部署nginx做四层反向代理安装高可用 keepalivednginx监控脚本修改k8s中组件的配置文件 coreDNS 概念 coreDNS是kubernetes的默认DNS实现。可以为集群中的service资源创建一个资源名…

ThinkPHP6企业OA办公系统

有需要请加文章底部Q哦 可远程调试 ThinkPHP6企业OA办公系统 一 介绍 勾股OA基于ThinkPHP6开发,前端Layui,数据库mysql,是一款实用的企业办公系统。可多角色登录,集成了系统设置、人事管理、消息管理、审批管理、日常办公、客户…

构建器/建造者/构建者模式(C++)

定义 将一个复杂对象的构建与其表示相分离,使得同样的构建过程(稳定)可以创建不同的表示(变化)。 应用场景 在软件系统中,有时候面临着“一个复杂对象”的创建工作,其通常由各个部分的子对象用一定的算法构成;由于需求的变化,这个复杂对象…

Homer:一个简单的静态主页

什么是 Homer ? Homer 是一个完全静态的 html/js 仪表板,基于一个简单的 yaml 配置文件。它旨在由 HTTP 服务器提供服务,如果您直接通过 file:// 协议打开 index.html,它将无法工作。 安装 在群晖上以 Docker 方式安装。 在注册表中搜索 h…