Web攻击日志初探 – 作者:bbbbbbig

第一章、概述

前段时间偶然间在一朋友处获得了多个系统的web日志,并被被要求针对这些日志进行分析。一时兴起,随便打开了一个,打开后发现日志数量极大,接着又打开了好几个,发现每个系统的日志量都极大的。起初准备找web日志分析工具,收集一番后对这些日志分析工具不熟悉,因此凭着经验进行分析。

联想到有的朋友可能会右这方面的需求,在此针对这些分析,我在此进行分享。

*注:本文思路仅供参考,仅代表个人观点,不喜勿喷!

第二章、攻击日志分析及思路

开始攻击日志分析之前,首先我们需要了解到有哪些常见的web攻击日志,这里我列举如下:sql注入和上传漏洞,后文中也主要针对这两类日志进行分析。

2.1、Web日志中数据格式

在开始进行web日志分析之前,我们先要了解web日志中记录数据的情况,这里我将web日志记录的类容列举如下:

攻击IP

日期

数据请求类型

路径

协议

状态码

2.2、GET与POST请求包在web日志中记录的区别

了解web日志记录的的数据格式后,我们还需了解GET与POST请求在web日志中数据记录的情况。

首先我们先看一下GET数据在web日志中的记录形式:

图片[1]-Web攻击日志初探 – 作者:bbbbbbig-安全小百科这里我们可以看出post数据请求在web日志中记录的格式如下:

图片[2]-Web攻击日志初探 – 作者:bbbbbbig-安全小百科通过对GET与POST请求包进行对比,可知,GET请求中在路径后面会带参数,而POST请求则不会。

2.3、200返回码误区

通常情况下,一个web日志文件中有大量访问日志,针对如此多的访问日志我们又该如何选择?在Web日志中数据格式中我们知道,有返回码这条数据,但如果只是针对返回码进行全文搜索,则会发在查找的结果中会混有其他数据,因此我们针对协议版本和返回码一起搜索,可以得到我们需要的数据。

搜索格式如下:

HTTP/1.1″ 200

这里我针对200返回码存在的误区进行一下阐述,尤其是在web日志分析中,200返回码只代表服务器针对请求作出了回应,并不代表一定成功。

由于200码表示服务器有回应,因此我们分析的主要是200返回码。

2.4、工具使用

打开一个web日志的方式有很多,可以使用txt,也可以使用其他,这里我使用Notepad++。

接下来开始攻击日志分析之旅。

2.5、sql注入日志分析

首先我们要知道sql注入有哪些类型,不同类型sql注入的攻击数据包是怎样的?通常情况下sql注入有如下几类,post注入、联合注入、延迟注入、基于错误的注入等;由于手中日志有限,进进行一下日志进行分析(本次分析仅针对GET型请求进行分析,POST类型请求在web日志无信息记录)。

  • 联合注入

联合注入通常情况下在请求的数据中会包含union这个单词,为了避免无效数据,因此我们先针对200码进行一次过滤。

首先筛选出返回码为200的日志条数:

图片[3]-Web攻击日志初探 – 作者:bbbbbbig-安全小百科通过200码日志筛选后我们可以获得需要的相关日志,然后对筛选出的日志进行查看,我们发现明显少掉大部分数据,借此可以查找我们需要的数据,如下:

图片[4]-Web攻击日志初探 – 作者:bbbbbbig-安全小百科由于这里是已明确是联合注入,因此我们可以在第二次对全网进行日志搜索,可针对union一词进行搜索:

图片[5]-Web攻击日志初探 – 作者:bbbbbbig-安全小百科

  • 其他注入日志分析

针对其他注入日志,我们可以我们可以根据特定词进行分析,如可以通过select、’、%27、and等资产进行查找(有其他更好经验者也可以联系我进行分享)。

 2.6、上传漏洞

日志筛选过程依旧如上述所说,查找到相关200日志后,针对上传中常用单词upload和uploads进行搜索,详细如下:

图片[6]-Web攻击日志初探 – 作者:bbbbbbig-安全小百科倘若日志量大,则可以检索到upload或uploads后在对shell脚本后缀进行检索,如:.jsp、.asp、.php等;

另外可通过日期命名的目录或者以get包传递的参数,例如pwd=caidao$cmd=whoami之类的字段进行检索确认。

第三章、web日志结合数据库日志综合分析

最后我将结合web日志和数据库日志进行一次综合分析案例,希望对大家有帮助。

  • 案例一:web日志中的post请求结合数据库信息分析

通过对日志进行查看,发现该时间点存在异常数据请求,通过web日志却无法查看详细信息,也不知做了什么操作,如图:

图片[7]-Web攻击日志初探 – 作者:bbbbbbig-安全小百科这是无法对该数据进行确认,但根据经验认为这个信息不正常,因此查看数据库信息,通过web操作时间,到数据库中查找对应时间,通过对比,发现该数据为注入,如图:

图片[8]-Web攻击日志初探 – 作者:bbbbbbig-安全小百科借此通过数据库信息做支撑,确认了攻击类型,完成对威胁的识别。

  • 案例二:webshell结合数据库日志分析

该案例是发现admin无法登录,通过对数据库日志查看,发现存在修改密码数据:

update admin set password=”154444″ where id=1

图片[9]-Web攻击日志初探 – 作者:bbbbbbig-安全小百科通过对修改时间进行确认,结合web日志进行分析,发现,在该时间点存在xiaoma.php文件,因此可以确认事件发生原因。

图片[10]-Web攻击日志初探 – 作者:bbbbbbig-安全小百科由于手中仅有日志信息,因此部分信息也只是猜测,仅供参考。

第四章、总结

Web攻击日志分析,主要是针对各类漏洞利用中常见数据和字符进行查找,状态码和常见字段进行检索,若有好的建议也可以私聊我,感谢。

来源:freebuf.com 2020-07-19 23:37:20 by: bbbbbbig

© 版权声明
THE END
喜欢就支持一下吧
点赞0
分享
评论 抢沙发

请登录后发表评论