日志文件分析

一、日志文件下载

wget www.offensive-security.com/pwk-files/access_log.txt.gz

仅展示部分

进行解压

 gunzip access_log.txt.gz

进行改名方便后续操作

mv access_log.txt a.txt

二、利用 cat,less,vim等方法进行文本查看

cat a.txt

可以知道这是 Apache 访问日志,记录了不同 IP 地址的客户端对网站资源的访问情况
异常流量检测

  • 频繁访问检测:查找短时间内对同一资源频繁发起请求的 IP
    地址,这可能是扫描工具在探测网站漏洞,或者攻击者在尝试暴力破解(如对登录页面的多次请求)
  • 大量并发请求:识别突然出现的大量并发请求,判断是否为 DDoS 攻击或恶意爬虫行为

异常请求检测

  • 非法资源请求:关注对不存在或敏感资源(如系统文件、后台管理路径等)的请求,例如常见的的/admin、/etc/passwd等,可能是攻击者在探测潜在的攻击入口
  • 特殊字符请求:包含 SQL 注入、跨站脚本攻击(XSS)等攻击特征的特殊字符请求,如’ OR ‘1’='1等,需要重点排查

进行分析

201.21.152.44 - - [25/Apr/2013:14:05:35 -0700] "GET /favicon.ico HTTP/1.1" 404 89 "-" "Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.31 (KHTML, like Gecko) Chrome/26.0.1410.64 Safari/537.31" "random-site.com"

这是一条 Apache 服务器的访问日志记录
客户端 IP 地址
201.21.152.44:这是发起请求的客户端 IP 地址,通过它可以大致了解访问来源的地理位置(可借助 IP 查询工具),以及在安全审计中判断是否存在异常访问行为(如频繁访问、来自恶意 IP 库等)
访问者标识
-:该字段通常显示访问者的标识,此处为-表示未提供相关信息。
认证用户名
-:如果服务器配置了用户认证,这里会显示认证通过的用户名,-表示未进行身份认证或认证未通过。
访问时间
[25/Apr/2013:14:05:35 -0700]:记录了请求发生的具体时间,格式为[日/月/年:时:分:秒 时区] 。-0700表示服务器所在时区为西七区,通过时间信息可以分析访问的时间规律,比如是否在正常业务时间段等。
请求方法、请求资源、HTTP 版本
GET /favicon.ico HTTP/1.1:表明客户端使用GET方法请求了/favicon.ico这个资源,HTTP 协议版本为1.1 favicon.ico是网站的图标文件,浏览器通常会自动请求它。
状态码
404:这是 HTTP 状态码,404表示请求的资源在服务器上未找到,说明客户端尝试访问的/favicon.ico文件不存在。
响应字节数
89:表示服务器返回给客户端的响应数据字节数。由于资源未找到,这里返回的数据可能是错误提示页面等相关内容的大小。
来源页面
-:记录了该请求是从哪个页面发起的,-表示没有来源页面信息,可能是直接在浏览器地址栏输入网址访问,或者是通过书签等方式访问。
用户代理
Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.31 (KHTML, like Gecko) Chrome/26.0.1410.64 Safari/537.31:表明客户端使用的操作系统是 Windows NT 6.2(即 Windows 8),是 64 位系统(WOW64 表示在 64 位系统上模拟 32 位环境),浏览器是 Chrome 26.0.1410.64,基于 AppleWebKit 内核,AppleWebKit是一个开源的布局引擎,主要用于浏览器
Mozilla/5.0:这是一个历史遗留的标识
random - site.com:域名

三、访问分析

因为第一列都是对我客户端请求的IP地址,所以先筛选出来(图片仅展示了部分)

cat a.txt | cut -d " " -f 1

仅展示部分

有很多IP是重复的,进行去重操作,因为有一个客户端请求了多次
进行去重操作可以用sort -u命令

cat a.txt | cut -d " " -f 1 | sort -u

在这里插入图片描述

可以看见,所有的这个已经被去重,剩下的就是所有的客户端请求IP地址,就是都有哪些ip访问了我的服务器
但是如果你想要了解,每一个访问我服务器的IP地址,访问了多少次,谁对我的服务器请求的次数最多,请求量最大(图片仅展示了部分)

cat a.txt | cut -d " " -f 1 | sort

在这里插入图片描述

直接执行sort命令不加-u就是让它进行一个排序,把相同的放一起
然后我在这个sort命令后面还能继续筛选,可以加上操作系统命令 uniq -c 来进行数字统计

cat a.txt | cut -d " " -f 1 | sort | uniq -c

在这里插入图片描述

这样就能看出哪个IP地址请求次数最多,然后可以对输出结果继续进行排序,加上 - run (按数字排序)
这样就找出来了哪个IP地址访问请求次数最多,这时就可以看看是哪个它是请求服务器上哪个资源请求1038次,看看他攻击的哪个服务。

cat a.txt | cut -d " " -f 1 | sort | uniq -c | sort -run

在这里插入图片描述

将包含这个IP地址的请求都列出来(图片仅展示了部分)

cat a.txt | grep '208.68.234.99'

在这里插入图片描述

把这个IP地址每一次请求服务器请求的url给筛选出来(图片仅展示了部分)

cat a.txt | grep '208.68.234.99' | cut -d "\"" -f 2

[图片]

这样就把这个IP地址请求服务器都请求了哪些url给筛选出来了

cat a.txt | grep '208.68.234.99' | cut -d "\"" -f 2| sort -u

在这里插入图片描述

发现只请求一个url请求了一千多次,基本确定是进行暴力破解攻击
然后我们对日志进行筛选,看看攻击者对这个我的服务器暴力破解成功没有,我们知道这个基本上是来看响应码来判断爆破是否成功

cat a.txt | grep '208.68.234.99' | grep admin | uniq -c

在这里插入图片描述

发现有一个请求为200,这个攻击者ip为208.68.234.99,并且攻击成功

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

临观_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值