长话短说,作业的原因是这样的,因为作业原因需求剖析网站日志,服务器是windows,iis日志,在网上找了找,github找了找,竟然没找到,看来只要自己着手锦衣玉食。
那么剖析办法我大致可分为三种:
1. 依据时刻:将恳求url按时刻段分类,那么咱们依据每个时刻段的url数量及进犯数量就能够大致判别出哪个时刻段有apt类型进犯,哪个时刻段是扫描器行为;
2. 依据进犯ip:正常的进犯必定会有恳求被记载(当然你要是有0day当我没说,正常的勘探总会有吧=。=!),然后每个ip去剖析;
3. 依据拜访恳求的状况码,也大致能够判别出行为。
规矩能够依据开源waf规矩,剖析扫描器写正则也能够,开源waf地址是
https://github.com/loveshell/ngx_lua_waf/tree/master/wafconf。
扫描器正则https://github.com/ *** arttang/w3a_SOCD的database里边有具体地址
https://github.com/ *** arttang/w3a_SOC/tree/master/db_sql。
Sql句子里边有想把它做的功用全一些,可是学python学习时刻也不是很长,写出来的代码也没有pythonic,会渐渐写的。现在分三个模块,一个日志归类模块命名为url.py,进犯剖析模块attac.py, ip地理位置查询模块ipfind.py,还有一个主函数。
日志归类模块url.py
import reimport osimport sysfrom datetime import datetime
dt = datetime.now()
date = str(dt.date())
loglist = [] # iplist = [] # ip计算urllist = [] # url计算列表needlist = [] # 需求计算的errorlist = [] # 格局过错的列表ipdict,urldict = {},{}
rizhi = str(input('请输入要剖析的日志文件名'))def find_log():
print('>>>>>>>开端解析日志')
with open(rizhi,'r',encoding='UTF-8',errors='ignore') as f:
#loglist = f.readlines()
for i in f.readlines(): #
if i[0] != '#':
b = re.split(' ',i)
iplist.append(b[10])
urllist.append(b[6])
try:
needlist.append([b[10],b[1],b[5],b[6],b[15]])
except:
errorlist.append(i)
print('>>>>>>>日志解析结束')def count(iplist,urllist): #计算ip url拜访量函数
print('>>>>>>>开端剖析url与ip拜访量')
global ipdict,urldict
for i in set(iplist):
ipdict[i] = iplist.count(i)
for i in set(urllist):
urldict[i] = urllist.count(i)
ipdict = sorted(ipdict.items(),key=lambda d: d[1], reverse=True)
urldict = sorted(urldict.items(),key=lambda d: d[1], reverse=True)
print(type(urldict))
iplist = list(ipdict)
urllist = list(urldict)
ipdict,urldict = {},{}
print('>>>>>url与ip剖析结束.......')
return [iplist,urllist]def save_count():
print('>>>>>>>正在保存剖析成果')
ipname = 'ip-'+date+'.txt'
urlname = 'url-'+date+'.txt'
with open(ipname,'w') as f:
for i in iplist:
f.write(str(list(i))+'n')
with open(urlname,'w') as f:
for i in urllist:
f.write(str(list(i))+'n')
print('>>>>>>>剖析成果保存结束')
find_log()
[iplist,urllist] = count(iplist,urllist)
save_count()
iis日志和apache日志觉得都差不多,便是切开时分改一下就行了。
Iis日志大概是这样的,用pythonreadlines然后切开出来就好了。
这个url.py我加了个功用把ip拜访量及url拜访量排序输出出来所以有点慢,=.=没办法野路子哪里会什么算法。将地址,时刻,ip,状况码都扔进一个列表里就行了。
[1] [2] [3] 黑客接单网
0x00 什么是CSRF CSRF(Cross-site request forgery跨站恳求假造,也被称为“One Click Attack”或许Session Riding,一般缩写为CSR...
本篇文章叙述了我怎么发现一个缝隙运用点,而且能够bypass现有安全机制,使我取得5位数赏金。 一个古怪的HTML注入事例 AndréBaptista和Cache-Money正在研讨一个十分风趣的缝隙...
二十多年来,跨站脚本(简称 XSS)缝隙一直是干流网站的心头之痛。为什么过了这么久,这些网站仍是对此类缝隙束手无策呢? 关于最近 eBay 网站曝出的跨站脚本缝隙,你有什么主意?为什么会呈现这样的漏...
前语 前次的那篇文章《一名代码审计新手的实战阅历与感悟》得到了不少读者的支撑,也得到了FreeBuf这个渠道的必定,这给了我这个菜的不能再菜的小菜鸟很大的决心。可是,不足之处仍是许多,比方文章中呈现的...
本文将向咱们介绍如安在AIX和Power架构上运转Metasploit结构,这关于那些想要测验在这些架构上运转Metasploit的人可能会有所协助(至少现在我还没有在网上发现关于这方面的教程内容)。...
一、Session是什么 暗码与证书等认证手法,一般用于登录进程。用户登录之后,服务器通常会树立一个新的Session保存用户的状况和相关信息,用以盯梢用户的状况。每个Session对应一个标识符Se...