应急响应:Web日志分析
Web日志分析ox01 Web日志Web访问日志记录了Web服务器接收处理请求及运行时错误等各种原始信息。通过对WEB日志进行的安全分析不仅可以帮助我们定位攻击者还可以帮助我们还原攻击路径找到网站存在的安全漏洞并进行修复。我们来看一条Apache的访问日志127.0.0.1 - - [11/Jun/2018:12:47:22 0800] GET /login.html HTTP/1.1 200 786 - Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3359.139 Safari/537.36通过这条Web访问日志我们可以清楚的得知用户在什么IP、什么时间、用什么操作系统、什么浏览器的情况下访问了你网站的哪个页面是否访问成功。本文通过介绍Web日志安全分析时的思路和常用的一些技巧。0x02 日志分析技巧在对WEB日志进行安全分析时一般可以按照两种思路展开逐步深入还原整个攻击过程。第一种确定入侵的时间范围以此为线索查找这个时间范围内可疑的日志进一步排查最终确定攻击者还原攻击过程。第二种攻击者在入侵网站后通常会留下后门维持权限以方便再次访问我们可以找到该文件并以此为线索来展开分析。常用分析工具Window下推荐用 EmEditor 进行日志分析支持大文本搜索效率还不错。Linux下使用Shell命令组合查询分析。ShellLinux命令实现日志分析一般结合grep、awk等命令等实现了几个常用的日志分析统计技巧。Apache日志分析技巧1、列出当天访问次数最多的IP命令cut -d- -f 1 log_file|uniq -c | sort -rn | head -202、查看当天有多少个IP访问awk {print $1} log_file|sort|uniq|wc -l3、查看某一个页面被访问的次数grep /index.php log_file | wc -l4、查看每一个IP访问了多少个页面awk {S[$1]} END {for (a in S) print a,S[a]} log_file5、将每个IP访问的页面数进行从小到大排序awk {S[$1]} END {for (a in S) print S[a],a} log_file | sort -n6、查看某一个IP访问了哪些页面grep ^111.111.111.111 log_file| awk {print $1,$7}7、去掉搜索引擎统计当天的页面awk {print $12,$1} log_file | grep ^\Mozilla | awk {print $2} |sort | uniq | wc -l8、查看2018年6月21日14时这一个小时内有多少IP访问:awk {print $4,$1} log_file | grep 21/Jun/2018:14 | awk {print $2}| sort | uniq | wc -l0x03 日志分析案例Web日志分析实例通过nginx代理转发到内网某服务器内网服务器某站点目录下被上传了多个图片木马虽然II7下不能解析但还是想找出谁通过什么路径上传的。在这里我们遇到了一个问题由于设置了代理转发只记录了代理服务器的ip并没有记录访问者IP这时候如何去识别不同的访问者和攻击源呢这是管理员日志配置不当的问题但好在我们可以通过浏览器指纹来定位不同的访问来源还原攻击路径。1、定位攻击源首先访问图片木马的记录只找到了一条由于所有访问日志只记录了代理IP并不能通过IP来还原攻击路径这时候可以利用浏览器指纹来定位。浏览器指纹Mozilla/4.0(compatible;MSIE7.0;WindowsNT6.1;WOW64;Trident/7.0;SLCC2;.NETCLR2.0.50727;.NETCLR3.5.30729;.NETCLR3.0.30729;.NET4.0C;.NET4.0E)2、搜索相关日志记录通过筛选与该浏览器指纹有关的日志记录可以清晰地看到攻击者的攻击路径。3、对找到的访问日志进行解读攻击者大致的访问路径如下A、攻击者访问首页和登录页B、攻击者访问MsgSjlb.aspx和MsgSebd.aspxC、攻击者访问Xzuser.aspxD、攻击者多次POST怀疑通过这个页面上传模块缺陷E、攻击者访问了图片木马打开网站访问Xzuser.aspx确认攻击者通过该页面的进行文件上传了图片木马同时发现网站了存在越权访问漏洞攻击者访问特定URL无需登录即可进入后台界面。通过日志分析找到网站的漏洞位置并进行修复。0x04 日志统计分析技巧统计爬虫grep -E Googlebot|Baiduspider /www/logs/access.2019-02-23.log | awk { print $1 } | sort | uniq统计浏览器cat /www/logs/access.2019-02-23.log | grep -v -E MSIE|Firefox|Chrome|Opera|Safari|Gecko|Maxthon | sort | uniq -c | sort -r -n | head -n 100IP 统计grep 23/May/2019 /www/logs/access.2019-02-23.log | awk {print $1} | awk -F. {print $1.$2.$3.$4} | sort | uniq -c | sort -r -n | head -n 102206 219.136.134.131497 182.34.15.2481431 211.140.143.1001431 119.145.149.1061427 61.183.15.1791427 218.6.8.1891422 124.232.150.1711421 106.187.47.2241420 61.160.220.2521418 114.80.201.18统计网段cat /www/logs/access.2019-02-23.log | awk {print $1} | awk -F. {print $1.$2.$3.0} | sort | uniq -c | sort -r -n | head -n 200统计域名cat /www/logs/access.2019-02-23.log |awk {print $2}|sort|uniq -c|sort -rn|moreHTTP Statuscat /www/logs/access.2019-02-23.log |awk {print $9}|sort|uniq -c|sort -rn|more5056585 3041125579 2007602 4005 301URL 统计cat /www/logs/access.2019-02-23.log |awk {print $7}|sort|uniq -c|sort -rn|more文件流量统计cat /www/logs/access.2019-02-23.log |awk {sum[$7]$10}END{for(i in sum){print sum[i],i}}|sort -rn|moregrep 200 /www/logs/access.2019-02-23.log |awk {sum[$7]$10}END{for(i in sum){print sum[i],i}}|sort -rn|moreURL访问量统计cat /www/logs/access.2019-02-23.log | awk {print $7} | egrep \?| | sort | uniq -c | sort -rn | more脚本运行速度查出运行速度最慢的脚本grep -v 0$ /www/logs/access.2019-02-23.log | awk -F \ {print $4 $1} web.log | awk {print $1 $8} | sort -n -k 1 -r | uniq /tmp/slow_url.txtIP, URL 抽取tail -f /www/logs/access.2019-02-23.log | grep /test.html | awk {print $1 $7}参考链接ShellLinux命令实现日志分析_linux shell_脚本之家Shell日志分析常用命令和例子_linux shell_脚本之家运维必备技能 WEB 日志分析-腾讯云开发者社区-腾讯云

相关新闻

论文阅读笔记 | The Script is All You Need: 对话到电影级视频生成的 Agentic 框架

论文阅读笔记 | The Script is All You Need: 对话到电影级视频生成的 Agentic 框架

The Script is All You Need: An Agentic Framework for Long-Horizon Dialogue-to-Cinematic Video Generation 1. Motivation 当前的视频生成模型(如 Sora2-Pro、Veo3.1、Wan2.5)虽然已经能够根据文本 prompt 合成高质量的短视频,但在面对…

2026/8/1 2:59:09阅读更多 →
PyTorch环境搭建全攻略:从CUDA版本匹配到实战避坑

PyTorch环境搭建全攻略:从CUDA版本匹配到实战避坑

1. 为什么你的PyTorch环境总是装不对?从版本匹配到实战避坑 每次打开PyTorch官网,看到那一长串的安装命令,是不是感觉头都大了? torch 、 torchvision 、 torchaudio ,再加上 cuda 版本,这几个家伙…

2026/8/1 2:59:09阅读更多 →
高效时间管理:构建2026年2月28日周六的规划系统

高效时间管理:构建2026年2月28日周六的规划系统

1. 项目背景与核心价值2026年2月28日周六这个看似简单的日期标记,实际上蕴含着时间管理、日程规划和个人效率提升的系统方法论。作为连续七年使用时间块管理法的实践者,我发现在数字化时代,人们越来越需要建立与时间的深度连接。这个日期背后…

2026/8/1 2:59:09阅读更多 →
红外避障模块原理、电路拆解与Arduino实战应用指南

红外避障模块原理、电路拆解与Arduino实战应用指南

1. 项目概述:从“看见”到“避开”的智能感知在机器人、智能小车或者自动化设备的世界里,让机器“看见”并主动避开障碍物,是实现自主移动最基础、也最关键的一步。这听起来像是科幻电影里的场景,但其实实现它的核心元件&#xff…

2026/8/1 4:21:33阅读更多 →
从零构建数字钟:嵌入式系统设计实战与工程思维训练

从零构建数字钟:嵌入式系统设计实战与工程思维训练

1. 项目概述:从零到一,亲手打造一个会“思考”的数字钟数字钟,听起来是个老掉牙的电子实验项目,对吧?不就是几个数码管,一个单片机,显示个时间而已。但如果你真这么想,可能就错过了这…

2026/8/1 4:21:33阅读更多 →
Linux命令行进度条实现原理:从ANSI控制码到Python库实战

Linux命令行进度条实现原理:从ANSI控制码到Python库实战

1. 项目概述:为什么我们需要一个命令行进度条?在Linux世界里,我们每天都在和命令行打交道。无论是编译一个大型项目、复制海量文件,还是执行一个需要长时间运行的数据处理脚本,终端窗口里那个沉默的、不断闪烁的光标&a…

2026/8/1 4:21:33阅读更多 →
从困惑度到BLEU:深入理解NLP模型评估指标的核心原理与实战权衡

从困惑度到BLEU:深入理解NLP模型评估指标的核心原理与实战权衡

1. 从“模型说人话”到“模型说好话”:评价指标的双重使命在自然语言处理(NLP)领域,尤其是大语言模型(LLM)如火如荼的今天,我们常常会听到两个词:“perplexity”和“BLEU”。前者&am…

2026/8/1 4:21:33阅读更多 →
MEMD信号分解技术:原理、实现与工业应用

MEMD信号分解技术:原理、实现与工业应用

1. 多元经验模式分解的核心概念与应用场景多元经验模式分解(Multivariate Empirical Mode Decomposition, MEMD)是一种处理非平稳、非线性信号的有效方法。我第一次接触这个技术是在分析工业设备振动数据时,当时传统傅里叶变换对非平稳信号的…

2026/8/1 4:21:33阅读更多 →
数据结构与算法学习神器:从Visualgo到Python Tutor的可视化工具全指南

数据结构与算法学习神器:从Visualgo到Python Tutor的可视化工具全指南

1. 项目概述:为什么我们需要“可视化”来学习数据结构与算法?如果你正在学习编程,或者已经是一名开发者,大概率听过这句话:“数据结构和算法是程序员的内功”。这话没错,但问题是,这门“内功”的…

2026/8/1 4:19:33阅读更多 →
覆盖国产 + 海外 + 开源模型,OpenClaw 2.7.9 Windows/Mac 双端部署详解

覆盖国产 + 海外 + 开源模型,OpenClaw 2.7.9 Windows/Mac 双端部署详解

🔹 工具基础介绍 OpenClaw 是开源生态中一款实用性较强的本地智能工具,凭借本地离线运行、可视化图形操作和任务自动化三大核心特性,赢得了众多用户的青睐。与普通在线对话AI工具不同,它属于能够直接操控本机软硬件的智能数字员工…

2026/7/31 20:44:05阅读更多 →
伺服阀焊完微漏毁整机?精密激光焊接三关锁住高压

伺服阀焊完微漏毁整机?精密激光焊接三关锁住高压

所谓液压伺服阀体的精密激光焊接,是用激光束对阀座壳体(通常为不锈钢或铝合金)进行密封焊接,使阀体在21-35MPa的高压液压油或压缩气体中长期运行而不发生介质泄漏。液压伺服阀是高端液压系统的"大脑"。从航空航天飞行控…

2026/7/31 17:41:43阅读更多 →
D2DX:三步实现《暗黑破坏神2》高清宽屏体验的终极指南

D2DX:三步实现《暗黑破坏神2》高清宽屏体验的终极指南

D2DX:三步实现《暗黑破坏神2》高清宽屏体验的终极指南 【免费下载链接】d2dx D2DX is a complete solution to make Diablo II run well on modern PCs, with high fps and better resolutions. 项目地址: https://gitcode.com/gh_mirrors/d2/d2dx 你是否还在…

2026/7/31 20:44:05阅读更多 →
无损视频剪辑终极指南:如何实现快速高效的多媒体处理

无损视频剪辑终极指南:如何实现快速高效的多媒体处理

无损视频剪辑终极指南:如何实现快速高效的多媒体处理 【免费下载链接】lossless-cut The swiss army knife of lossless video/audio editing 项目地址: https://gitcode.com/gh_mirrors/lo/lossless-cut 在数字媒体创作领域,视频编辑处理的质量损…

2026/8/1 0:00:10阅读更多 →
AI辅助本科论文写作:8大工具评测与高效使用指南

AI辅助本科论文写作:8大工具评测与高效使用指南

1. 本科生论文写作的AI辅助现状本科毕业论文是每个大学生必须跨越的一道坎。记得我当年写论文时,光是文献检索就花了整整两周时间,打印的参考文献堆满了半个书桌。如今AI技术的发展为学术写作带来了革命性变化,合理使用这些工具可以节省80%以…

2026/8/1 0:00:10阅读更多 →
如何快速配置大麦自动抢票系统:从零开始搭建Python抢票助手

如何快速配置大麦自动抢票系统:从零开始搭建Python抢票助手

如何快速配置大麦自动抢票系统:从零开始搭建Python抢票助手 【免费下载链接】ticket-purchase 大麦自动抢票,支持人员、城市、日期场次、价格选择 项目地址: https://gitcode.com/GitHub_Trending/ti/ticket-purchase 还在为抢不到热门演唱会门票…

2026/8/1 0:00:10阅读更多 →
无损视频剪辑终极指南:如何实现快速高效的多媒体处理

无损视频剪辑终极指南:如何实现快速高效的多媒体处理

无损视频剪辑终极指南:如何实现快速高效的多媒体处理 【免费下载链接】lossless-cut The swiss army knife of lossless video/audio editing 项目地址: https://gitcode.com/gh_mirrors/lo/lossless-cut 在数字媒体创作领域,视频编辑处理的质量损…

2026/8/1 0:00:10阅读更多 →
AI辅助本科论文写作:8大工具评测与高效使用指南

AI辅助本科论文写作:8大工具评测与高效使用指南

1. 本科生论文写作的AI辅助现状本科毕业论文是每个大学生必须跨越的一道坎。记得我当年写论文时,光是文献检索就花了整整两周时间,打印的参考文献堆满了半个书桌。如今AI技术的发展为学术写作带来了革命性变化,合理使用这些工具可以节省80%以…

2026/8/1 0:00:10阅读更多 →
如何快速配置大麦自动抢票系统:从零开始搭建Python抢票助手

如何快速配置大麦自动抢票系统:从零开始搭建Python抢票助手

如何快速配置大麦自动抢票系统:从零开始搭建Python抢票助手 【免费下载链接】ticket-purchase 大麦自动抢票,支持人员、城市、日期场次、价格选择 项目地址: https://gitcode.com/GitHub_Trending/ti/ticket-purchase 还在为抢不到热门演唱会门票…

2026/8/1 0:00:10阅读更多 →