[日志分析] 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 ...
随机推荐
- 绕过校园网WEB认证_iodine实现
这篇文章是对我的上一篇文章"绕过校园网WEB认证_dns2tcp实现"的补充,在那篇文章中,我讲述了绕过校园网WEB认证的原理,并介绍了如何在windows系统下绕过校园网WEB认 ...
- JSF-页面导航
页面导航 1)导航处理涉及的术语: -动作值:触发动作事件的组件的action:EL方法表达式.字符串文字. -结果值:动作组件的action属性的:EL方法表达式的返回值.字符串文字:或结果组件的o ...
- JS中$含义和用法
原博客:https://www.cnblogs.com/jokerjason/p/7404649.html$在JS中本身只是一个符号而异,在JS里什么也不是.但在JS应用库JQUERY的作者将之做为一 ...
- 使用opencv调用24*24点阵字库和8*16ASCII字库在图片显示文字数字
课程实验:编程读汉字点阵字库,把自己的名字和学号叠加到图片的右下位置. 主要步骤分为三部分 第一部分:读取图片(文件读取) 第二部分:读取文字并从字库中提取相应的编码(字库的存储原理) 第三部分:将相 ...
- GitHub学习笔记:分支管理
GitHub对于每个开发版本都需要有一个分支,默认的分支是master往往被大家保留下来作为主分支,分支类似于进程的一个指针,往往在master这个稳定的主干版本上分出一个或多个正在开发的分支版本,开 ...
- 「速成应用」实在可靠的 微信小程序第三方代理加盟平台公司
小程序,是基于微信平台的一个划时代产品,也就是嵌入到微信里的一个功能丰富.操作简洁的轻应用,不需要下载安装即可使用.不同的小程序,能实现不同的功能.例如,买电影票.餐厅排号.餐馆点菜.查询公交.查询股 ...
- [ 搭建Redis本地服务器实践系列一 ] :图解CentOS7安装Redis
上一章 [ 搭建Redis本地服务器实践系列 ] :序言 作为开场白介绍了下为什么要写这个系列,从这个章节我们就开始真正的进入正题,开始搭建我们本地的Redis服务器.那么关于Redis的基本概念,什 ...
- Linux时间子系统之(十四):tick broadcast framework
专题文档汇总目录 Notes:BroadcastTick作为cpuidle的waker,硬件基础.BroadcastTick嵌入在当前系统Tick框架中.BroadcastTick设备初始化:周期性T ...
- JavaScript-//FOR/IN循环。当使用for/in循环遍历关联数组时,就可以清晰地体会到for/in的强大之处。
<script> //FOR/IN循环.当使用for/in循环遍历关联数组时,就可以清晰地体会到for/in的强大之处. function getvalue(portfolio){ var ...
- navicat for mysql 破解方法
https://www.cnblogs.com/da19951208/p/6403607.html 破解教程