[日志分析] 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 ...
随机推荐
- Oracle知识梳理(三)操作篇:SQL基础操作汇总
Oracle知识梳理(三)操作篇:SQL基础操作汇总 一.表操作 1.表的创建(CREATE TABLE): 基本语句格式: CREATE TABLE table_name ( col_ ...
- 分布式缓存管理平台XXL-CACHE
<分布式缓存管理平台XXL-CACHE> 一.简介 1.1 概述 XXL-CACHE是一个分布式缓存管理平台,其核心设计目标是"让分布式缓存的接入和管理的更加的简洁和高效&quo ...
- mac下安装Python3.*(最新版本)
前言:mac系统自带python,不过以当前mac系统的最新版本为例,自带的python版本都是2.*版本,虽然不影响老版本项目的运行,但是python最新的3.*版本的一些语法与2.*版本并不相同, ...
- 基于ubuntu16.04部署IBM开源区块链项目-弹珠资产管理(Marbles)
前言 本教程基本上是对Marbles项目的翻译过程. 如果英文比较好的话,建议根据官方操作说明,一步步进行环境部署.当然你也可以参考本教程在自己的主机上部署该项目. Marbles 介绍 关于 Mar ...
- android 开发常见问题
指定版本 就OK了 路径: android/app/build.gradle compile ("com.facebook.react:react-native:填你自己的RN版本" ...
- MyBatis系列目录--5. MyBatis一级缓存和二级缓存(redis实现)
转载请注明出处哈:http://carlosfu.iteye.com/blog/2238662 0. 相关知识: 查询缓存:绝大数系统主要是读多写少. 缓存作用:减轻数据库压力,提供访问速度. 1. ...
- linux常用的时间获取函数(time,gettimeofday,clock_gettime,_ftime,localtime,strftime )
time()提供了秒级的精确度 1.头文件 <time.h> 2.函数原型 time_t time(time_t * timer) 函数返回从TC1970-1-1 0:0:0开始到现在的秒 ...
- 论C++如何优雅的使用数组
C/C++中如果一个函数接受一个数组作为参数,那么数组将会被退化为指针,如果定义如下代码: //数组arr的大小未知. int arrsize(int arr*) { cout << &q ...
- 小程序开发之图片转Base64(C#、.et)
小程序页面代码因为某些人力不可控的代码丢失了,这里简单说明一下 调用小程序APIwx.chooseImage(OBJECT)选择相册或拍摄照片,会返回 tempFilePaths,之后通过wx.upl ...
- Ambiguous mapping found
If you have a single default method (without explicit path mapping), then all requests without a mor ...