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 日志分析的更多相关文章

  1. Nginx Access Log日志统计分析常用命令

    Nginx Access Log日志统计分析常用命令 IP相关统计 统计IP访问量 awk '{print $1}' access.log | sort -n | uniq | wc -l 查看某一时 ...

  2. 转 Nginx Access Log日志统计分析常用命令

    Nginx Access Log日志统计分析常用命令Nginx Access Log日志统计分析常用命令IP相关统计 统计IP访问量 awk '{print $1}' access.log | sor ...

  3. 在nginx日志的access log中记录post请求的参数值

    背景:有时程序偶出现参数少了或没有提交到下一个链接Url里后出现问题,如何查呢,最好的办法是在nginx上的加post参数,以定位到问题才有可能对某个UIR的代码出现的问题进行排查. og_forma ...

  4. tomcat 和 jboss access log 日志输出详解

    详见:http://blog.yemou.net/article/query/info/tytfjhfascvhzxcyt179 工作中nginx+jboss/tomcat反向代理集成,想打开后端jb ...

  5. nginx.conf 下日志host.access.log 说明

    位置usr/local/nginx/conf/nginx.conf $server_port 请求端口 $remote_addr 局域网代理IP:如果没同意任何代理的话$remote_addr 就是真 ...

  6. GoAccess 视图化access.log 日志

    1.安装GoAccess 工具可以直接使用 apt-get install goaccess 2.使用goaccess命令将日志生成html文件 goaccess 日志路径 -o 输出HTML的路径 ...

  7. 利用logrotate切割nginx的access.log日志

    一.新建一个nginx的logrotate配置文件 /var/log/nginx/access.log { daily rotate compress delaycompress missingok ...

  8. Nginx修改access.log日志时间格式

    一.修改原因 因为要获取nginx访问信息,作为开发的数据使用,但是nginx的access.log文件中的默认的时间格式是这样的: [02/Nov/2017:20:48:25 +0800] 而要求的 ...

  9. goaccess分析access.log

    接上一篇,开始学习goaccess使用~ 源码安装完成后,我的goaccess的配置文件goaccess.conf位于/usr/local/etc/ /usr/local/etc/goaccess/g ...

随机推荐

  1. Django1.6版本的PG数据库定义手动升级

    Django1.7以后添加了migration功能,数据库定义的升级完全实现自动化,之前是通过一个叫south的app来做的.这篇文章谈一下1.6下的手动更新升级. 1.table create和ta ...

  2. Java杂记9—NIO

    前言 非阻塞IO,也被称之为新IO,它重新定义了一些概念. 缓冲buffer 通道 channel 通道选择器 BIO 阻塞IO,几乎所有的java程序员都会的字节流,字符流,输入流,输出流等分类就是 ...

  3. centos/linux 禁止root用户远程登录

    注意:在禁止root等前要建立一个用户用来远程登录,否则退出后无法通过远程登录服务器. 编辑 /etc/ssh/sshd_config 文件 更改参数 PermitRootLogin yes 为 Pe ...

  4. 使用Navicat连接阿里云服务器上的MySQL数据库--转

    手把手教你如何正确连接阿里云服务器上的数据库: 1.首先打开Navicat,文件>新建连接>MySQL连接,其他的如一图所示. 2.因为是连接服务器上的MySQL,所以我们使用SSH连接, ...

  5. 手把手教你全家桶之React(二)

    前言 上一篇已经讲了一些react的基本配置,本遍接着讲热更新以及react+redux的配置与使用. 热更新 我们在实际开发时,都有用到热更新,在修改代码后,不用每次都重启服务,而是自动更新.并而不 ...

  6. php仿经典省市县三级联动

    之前有个需求要写个类似省市县三级联动的页面,于是,网上找了点资料看了下,其实原理很简单: 当我们选择一级栏目中某条记录的时候,会获取该栏目的vaule值,并发起ajax请求,后台根据这个vaule值, ...

  7. JQuery(三)-- AJAX的深入理解以及JQuery的使用

    HTTP HTTP http: 超文本传输协议.特点:  简单.快速.灵活.无状态.无连接 URL: 统一资源定位符. 组成:协议名://主机IP:端口号/项目资源地址?传递参数的键值对#锚点 ①ip ...

  8. 安装ie时,报:此安装不支持您的操作系统的当前语言

    打开注册表(win的"运行"栏键入 regedit 再按 OK )的HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Control/Nls/ ...

  9. linux基础和vim基本使用

    Liunx基础 1. 目录  /:根目录,一般根目录只存放目录,在linux下有且只有一个根目录.所有的东西都是从这里开始,例如:/home就是先从根目录/开始,再进入到home目录.  /bin ...

  10. Python学习 Part6:错误和异常

    Python学习 Part6:错误和异常 两种不同类型的错误:语法错误和异常 1. 语法错误 语法错误,也被称作解析错误: >>> while True print('Hello w ...