当前位置: 首页 > news >正文

玄机平台应急响应—apache日志分析

1、前言

apache的日志一共有两个,一个是access.log,这个日志记录了所有对Web服务器的访问,被入侵时重点排查这个。另一个是error.log,错误日志记录了服务器运行期间遇到的各种错误,以及一些普通的诊断信息,比如服务器何时启动、何时关闭等。

windows路径:\Apache\logs\access.log

linux路径:/var/log/apache2/access.log

2、日志分析

至于究竟是分析什么,那就得因情况而定了。一般都是分析可疑ip什么时候干了啥事情、当天有多少ip访问,某个后台页面被谁谁访问过等等。日志一般都是特别庞大的,一行一行的看是不可能的事情,我们可以用命令来筛选,或者把干脆日志下载到本地,然后excel表格打开进行筛选。

3、apache日志格式

知道apache的日志格式,才能更方便地让我们使用命令去找到想要的信息。这里我引用这篇文章写,写的挺不错的看这里哈哈哈。

原文链接:https://blog.csdn.net/qq_40923603/article/details/136536285

11.104.211.13 -- [03/Mar /2020:15:23:17 +0800] "POST  /perbank/add.do HTTP/1.1"   200  254  0  "https://pbank.psbc/com/preperbank/index.html" "Mozilla/5.0 (windows NT 10.0 wow64) AppleweKit/537.36(KHTML, like Gecko) Chrome/77.0.3865 Safari/537.36"
117.136.38.168 -- [03/Mar /2020:15:23:17 +0800] "POST  /preperbank/add.do HTTP/1.1"   200  254  0  "https://pbank.psbc/com/preperbank/index.html" "Mozilla/5.0 (windows NT 10.0 wow64) AppleweKit/537.36(KHTML, like Gecko) Chrome/77.0.3865 Safari/537.36"


(1)11.104.211.13 : 远端主机地址,客户端发送到apach服务器时服务器的地址,服务器返回数据时客户端的地址,如果 客户端使用了代理服务器,那么这里的ip就是代理服务器的地址。

(2).- 远端登录名(由identd而来,如果支持的话),除非IdentityCheck设为"On",否则将得到一个"-"。
The "hyphen" in the output indicates that the requested piece of information is not available. In this case, the information that is not available is the RFC 1413 identity of the client determined by identd on the clients machine. This information is highly unreliable and should almost never be used except on tightly controlled internal networks. Apache httpd will not even attempt to determine this information unless IdentityCheck is set to On.

(3).- 远程用户名(根据验证信息而来;如果返回status(%s)为401,可能是假的)

(4).[03/Mar /2020:15:23:17 +0800] 请求的时间,格式为[day/month/year:hour:minute:second zone],最后的+0800表示服务器所处的时区为东八区

(5)."POST /perbank/add.do HTTP/1.1" 请求的第一行,请求方法/访问路径/协议

(6).200 这是一个状态码,由服务器端发送回客户端,它告诉我们客户端的请求是否成功,或者是重定向,或者是碰到了什么样的错误,这项值为200,表示服务器已经成 功的响应了客户端的请求,一般来说,这项值以2开头的表示请求成功,以3开头的表示重定向,以4开头的标示客户端存在某些的错误,以5开头的标示服务器端 存在某些错误,详细的可以参见 HTTP specification (RFC2616 section 10).

(7).254 以CLF格式显示的除HTTP头以外传送的字节数,也就是当没有字节传送时显示'-'而不是0。它告诉我们传输是否被打断(该数值是否和文件的大小相同)。把日志记录中的这些值加起来就可以得知服务器在一天、一周或者一月内发送了多少数据。

(8).0 "%{Referer}i" 接收的字节数,包括请求头的数据,并且不能为零。要使用这个指令你必须启用mod_logio模块。

(9)."https://pbank.psbc/com/preperbank/index.html" "Mozilla/5.0 (windows NT 10.0 wow64) AppleweKit/537.36(KHTML, like Gecko) Chrome/77.0.3865 Safari/537.36" 客户端的浏览器信息

(10).格式定义再/etc/httpd/conf/httpd.conf

(11).LogFormat "%h %l %u %t "%r" %>s %b "%{Referer}i" "%{User-Agent}i"" combined

4、玄机平台实战

提交当天访问次数最多的IP,即黑客IP

flag{192.168.200.2}

cat access.log.1 | grep "03/Aug/2023" | awk '{print $1}' | sort | uniq -c | sort -nr

   

黑客使用的浏览器指纹是什么,提交指纹的md5,这里说一下指纹就是浏览器信息嘛。

Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.88 Safari/537.36

flag{2D6330F380F44AC20F3A02EED0958F66}

查看index.php页面被访问的次数,提交次数

flag{27}

cat access.log.1 | grep "/index.php" | awk '{print $3}' | sort | uniq -c | sort -nr

查看黑客IP访问了多少次,提交次数

flag{6555}

 cat access.log.1 | grep "192.168.200.2" | awk '{print $1}' | sort | uniq -c | sort -nr

查看2023年8月03日8时这一个小时内有多少IP访问,提交次数。这个flag就不演示了,看第一步。

flag{5}

5、总结

其实日志查询的命令都差不多的,格式都一样,把你要过滤出来的东西替换即可。

最后,以上仅为个人的拙见,如何有不对的地方,欢迎各位师傅指正与补充,有兴趣的师傅可以一起交流学习。

相关文章:

  • openi启智社区 aarch64 npu环境安装飞桨paddlepaddle和PaddleNLP(失败)
  • 连山露【诗词】
  • GiantPandaCV | 提升分类模型acc(一):BatchSizeLARS
  • 【Java每日一题】2.和数最大操作II-动态规划
  • 顶级域名和二级域名的区别
  • SOA设计的标准要求
  • SAP HCM HR_PAD_HIRE_EMPLOYEE 自定义信息类型字段保存问题
  • 标题:深入探索Linux中的`ausyscall`
  • SpringCloud整合OpenFeign实现微服务间的通信
  • Visual Studio Code 怎么恢复默认布置
  • 计算机组成结构—IO方式
  • SpringCache和SpringTask
  • 【ARM64 常见汇编指令学习 19.2 -- ARM64 地址加载指令 ADR 详细介绍】
  • 高防CDN是如何应对DDoS和CC攻击的
  • 堆排序-调整算法
  • IE9 : DOM Exception: INVALID_CHARACTER_ERR (5)
  • Apache Pulsar 2.1 重磅发布
  • Apache Spark Streaming 使用实例
  • HTTP请求重发
  • HTTP--网络协议分层,http历史(二)
  • iBatis和MyBatis在使用ResultMap对应关系时的区别
  • JavaScript实现分页效果
  • Redis学习笔记 - pipline(流水线、管道)
  • vue:响应原理
  • Vue实战(四)登录/注册页的实现
  • vue--为什么data属性必须是一个函数
  • webpack+react项目初体验——记录我的webpack环境配置
  • 从tcpdump抓包看TCP/IP协议
  • 排序算法学习笔记
  • 如何使用 OAuth 2.0 将 LinkedIn 集成入 iOS 应用
  • 王永庆:技术创新改变教育未来
  • 限制Java线程池运行线程以及等待线程数量的策略
  • 应用生命周期终极 DevOps 工具包
  • 智能合约开发环境搭建及Hello World合约
  • ​ ​Redis(五)主从复制:主从模式介绍、配置、拓扑(一主一从结构、一主多从结构、树形主从结构)、原理(复制过程、​​​​​​​数据同步psync)、总结
  • ​如何防止网络攻击?
  • ​探讨元宇宙和VR虚拟现实之间的区别​
  • #Lua:Lua调用C++生成的DLL库
  • (2.2w字)前端单元测试之Jest详解篇
  • (3)选择元素——(14)接触DOM元素(Accessing DOM elements)
  • (floyd+补集) poj 3275
  • (MonoGame从入门到放弃-1) MonoGame环境搭建
  • (Redis使用系列) SpirngBoot中关于Redis的值的各种方式的存储与取出 三
  • (八)五种元启发算法(DBO、LO、SWO、COA、LSO、KOA、GRO)求解无人机路径规划MATLAB
  • (大众金融)SQL server面试题(1)-总销售量最少的3个型号的车及其总销售量
  • (二)JAVA使用POI操作excel
  • (附源码)spring boot基于小程序酒店疫情系统 毕业设计 091931
  • (附源码)springboot助农电商系统 毕业设计 081919
  • (六)Flink 窗口计算
  • (三)mysql_MYSQL(三)
  • (一)spring cloud微服务分布式云架构 - Spring Cloud简介
  • (一)认识微服务
  • (转)【Hibernate总结系列】使用举例
  • (转)Oracle存储过程编写经验和优化措施
  • (转)详解PHP处理密码的几种方式