[日志分析] Access Log 日志分析
0x00.前言:
如何知道自己所在的公司或单位是否被入侵了?是没人来“黑”,还是因自身感知能力不足,暂时还没发现?入侵检测是每个安全运维人员都要面临的严峻挑战。安全无小事,一旦入侵成功,后果不堪设想。
随着高危端口的加固,很多黑客直接可利用的漏洞攻击手法都会失效。但是web服务,不是所有的企业或单位都可以关掉的。于是,基于PHP、Java、ASP等动态的web服务漏洞就变成黑客入侵的主要入口。
比如,利用上传功能,直接上传一个WebShell,利用SQL注入直接将管理员的密码解析出来,利用暴力破解将后台登录的用户名和密码给爆破出来......
针对Web服务的入侵痕迹检测,可以通过分析WAF日志、Access Log日志、或者系统命令调用日志等来分析。
下面我将通过分析Apache下的access日志来简单说明入侵痕迹的检测的思路。
0x01.搭建环境:
这里我使用了DVWA测试平台,因为这上面可以利用的攻击方式很多。
a.使用御剑后台扫描工具

b.对扫描出的phpMyAdmin进行暴力破解

c.测试sql注入

d.利用BurpSuite进行暴力破解登录密码


0x02.分析access.log日志:

直接使用文本编辑工具打开日志可以看出日志很详细,但不便于分析,这里推荐使用日志分析工具Apache Logs Viwers。
使用Apache Logs Viwers打开access.log日志

可以借助工具上的过滤、排序功能进行筛选自己想要分析的内容,从上图可以看出有大量状态Status为404的日志,并根据请求的url不难推断出,这是在进行目录扫描操作,验证了使用 御剑后台扫描工具

继续翻查该IP的日志,可以看到有大量POST请求phpMyAdmin/index.php的日志,在最后状态号Status由300变为了200,可以推断出,攻击者在进行phpMyAdmin的暴力破解,并成功破解了用户名和密码。

上面红框中的内容,同样可以从GET请求的URL中,以及size的大小变化中,判断出是在破解用户为admin的密码,并最终成功。

不用多说,有了上面的经验,并且有点Mysql基础的,同样可以从请求中,看出这是一条组合好的注入语句。
手工分析大量的安全日志是一件很辛苦、很漫长的过程,当然获得的信息也是最细致的方式。下面是在自动化日志分析工具上所截下来的图,可以很直观的了解网站的安全现状,以及存在的安全隐患。


0x03.总结:
很多时候,运维人员很少有时间去分析自己运维的网站日志,而且很多主管也不是很重视日志的备份存储,造成入侵事件后,攻击者将日志抹除,这也在后期的溯源上造成了很大的困难。当然分析这些日志,麻烦繁琐,可以先借助自动化分析工具来完成这些事情,当给出的安全报告中,发现有隐患时,及时让安全人员对日志进行手工分析,更加利于我们及时做好安全上的防护。
附360星图工具:链接:https://pan.baidu.com/s/10Wuv2ZCbytOhYF7ZkD334A 提取码:w14q
[日志分析] Access Log 日志分析的更多相关文章
- Nginx Access Log日志统计分析常用命令
Nginx Access Log日志统计分析常用命令 IP相关统计 统计IP访问量 awk '{print $1}' access.log | sort -n | uniq | wc -l 查看某一时 ...
- 转 Nginx Access Log日志统计分析常用命令
Nginx Access Log日志统计分析常用命令Nginx Access Log日志统计分析常用命令IP相关统计 统计IP访问量 awk '{print $1}' access.log | sor ...
- 在nginx日志的access log中记录post请求的参数值
背景:有时程序偶出现参数少了或没有提交到下一个链接Url里后出现问题,如何查呢,最好的办法是在nginx上的加post参数,以定位到问题才有可能对某个UIR的代码出现的问题进行排查. og_forma ...
- tomcat 和 jboss access log 日志输出详解
详见:http://blog.yemou.net/article/query/info/tytfjhfascvhzxcyt179 工作中nginx+jboss/tomcat反向代理集成,想打开后端jb ...
- nginx.conf 下日志host.access.log 说明
位置usr/local/nginx/conf/nginx.conf $server_port 请求端口 $remote_addr 局域网代理IP:如果没同意任何代理的话$remote_addr 就是真 ...
- GoAccess 视图化access.log 日志
1.安装GoAccess 工具可以直接使用 apt-get install goaccess 2.使用goaccess命令将日志生成html文件 goaccess 日志路径 -o 输出HTML的路径 ...
- 利用logrotate切割nginx的access.log日志
一.新建一个nginx的logrotate配置文件 /var/log/nginx/access.log { daily rotate compress delaycompress missingok ...
- Nginx修改access.log日志时间格式
一.修改原因 因为要获取nginx访问信息,作为开发的数据使用,但是nginx的access.log文件中的默认的时间格式是这样的: [02/Nov/2017:20:48:25 +0800] 而要求的 ...
- goaccess分析access.log
接上一篇,开始学习goaccess使用~ 源码安装完成后,我的goaccess的配置文件goaccess.conf位于/usr/local/etc/ /usr/local/etc/goaccess/g ...
随机推荐
- jsoup 使用总结2--高级用法之 :gt(n)
jsoup 使用总结2--高级用法之 :gt(n) 大部分时候,我们使用jsoup解析网页的时候,都是直接找到某一类元素,或者按某种selector查询:具体使用方法可以参考jsoup官网文档 部分h ...
- 二分查找算法的C++和PHP实现
C++实现方式: #include<iostream> #include<stdlib.h>#include<algorithm> using namespace ...
- R语言学习 第十篇:操作符
运算符是R语言中最基础的存在,熟悉运算符的使用,是熟练使用R处理数据的基础,操作符,顾名思义,是对数据进行运算的符号,R有自己的一套操作符,实现变量的赋值,引用,运算等功能. 一,赋值符号 为变量赋值 ...
- jdbc连接阿里云服务器上的MySQL数据库 及 数据库IP限制
问题1:Jdbc 如何连接阿里云服务器上的MySQL数据库? 解决: 上截图: 其中IP是阿里云服务器的公网IP地址. 问题2: 刚开始接手开发的时候,使用Navicat连接阿里云服务器上的数据后 ...
- angular2 安装 打包成发布项目过程
安装之前要有typings和typescript全局已经安装好 安装命令新版为npm install -g @angular/cli 原来的angular-cli为老版的,我安装失败了 安装之后新建一 ...
- 设计一个卖不同种类车的4s店
# 定义奔驰车类 class BenchiCar(object): # 定义车的方法 def move(self): print('---奔驰车在移动---') def stop(self): pri ...
- .NET开发设计模式-获取某个接口下面所有的派生类
using System; using System.Collections.Generic; using System.Linq; using System.Reflection; using Sy ...
- Springboot 框架学习
Springboot 框架学习 前言 Spring Boot是Spring 官方的顶级项目之一,她的其他小伙伴还有Spring Cloud.Spring Framework.Spring Data等等 ...
- 【转】Sentry介绍
Sentry 是一个开源的实时错误报告工具,支持 web 前后端.移动应用以及游戏,支持 Python.OC.Java.Go.Node.Django.RoR 等主流编程语言和框架 ,还提供了 GitH ...
- 爬虫-Python爬虫常用库
一.常用库 1.requests 做请求的时候用到. requests.get("url") 2.selenium 自动化会用到. 3.lxml 4.beautifulsoup 5 ...